java5新特性之方法的可变参数
2018-02-02 11:55
197 查看
java5的新特性之方法的可变参数,说的是参数的个数可变
示例代码如下
public class VarArgsDemo {
public static void main(String[] args) {
double sum = getSum(10.0, 34, 13, 54.0);
System.out.println(sum);
}
static double getSum(double... arr) {
double sum = 0;
for (double d : arr) {
sum += d;
}
return sum;
}
}
通过反编译软件打开,编译后的代码如下
import java.io.PrintStream;
public class VarArgsDemo
{
public VarArgsDemo()
{
}
public static void main(String args[])
{
double sum = getSum(new double[] {
10D, 34D, 13D, 54D
});
System.out.println(sum);
}
static transient double getSum(double arr[])
{
double sum = 0.0D;
double ad[];
int j = (ad = arr).length;
for (int i = 0; i < j; i++)
{
double d = ad[i];
sum += d;
}
return sum;
}
}
方法的可变参数,其实也是一个语法糖,编译器级别的新特性,让开发者写代码更简单
方法的可变参数其底层就是一个数组类型
可变参数必须作为方法的最后一个参数,避免参数的歧义性
推论:方法最多只有一个可变参数
示例代码如下
public class VarArgsDemo {
public static void main(String[] args) {
double sum = getSum(10.0, 34, 13, 54.0);
System.out.println(sum);
}
static double getSum(double... arr) {
double sum = 0;
for (double d : arr) {
sum += d;
}
return sum;
}
}
通过反编译软件打开,编译后的代码如下
import java.io.PrintStream;
public class VarArgsDemo
{
public VarArgsDemo()
{
}
public static void main(String args[])
{
double sum = getSum(new double[] {
10D, 34D, 13D, 54D
});
System.out.println(sum);
}
static transient double getSum(double arr[])
{
double sum = 0.0D;
double ad[];
int j = (ad = arr).length;
for (int i = 0; i < j; i++)
{
double d = ad[i];
sum += d;
}
return sum;
}
}
方法的可变参数,其实也是一个语法糖,编译器级别的新特性,让开发者写代码更简单
方法的可变参数其底层就是一个数组类型
可变参数必须作为方法的最后一个参数,避免参数的歧义性
推论:方法最多只有一个可变参数
相关文章推荐
- java新特性之方法重载中可变参数应用
- JDK5新特性:可变参数方法
- JDK5新特性之 可变参数的方法
- JDK1.5新增特性之VariableParameter可变参数方法
- java 5 新特性——可变参数方法
- java 5 新特性——可变参数方法
- JDK5 新特性之 可变参数的方法(2)---asList
- JDK5新特性:可变参数方法
- java7新特性 当使用可变并且非具体类型形式化参数的方法时候,改进警告与报错的提示
- java5特性(可变参数列表)
- 黑马程序员---集合框架工具类Collections,数组工具类Arrays常见方法以及1.5版本新特性(高级for,可变参数和静态导入)
- java可变参数特性
- go实例—函数或方法的可变长参数
- C++ template的一些高级用法(元编码,可变参数,仿函数,using使用方法,. C++ 智能指针)
- Java基础第十七天学习日记_Collections和Arrays的常用方法、高级for循环、可变参数、静态导入
- JAVA新特性--可变参数函数
- jdk1.5新特性之------->可变参数
- 二十三:向方法传递可变数量的参数(使用params参数)
- 5.5 参数数量可变的方法
- jdk5.0中的新特性--可变参数