您的位置:首页 > 编程语言 > Java开发

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;
}
}

方法的可变参数,其实也是一个语法糖,编译器级别的新特性,让开发者写代码更简单
方法的可变参数其底层就是一个数组类型

可变参数必须作为方法的最后一个参数,避免参数的歧义性

推论:方法最多只有一个可变参数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: