Java可变参数
时间:2014-07-22 23:17:14
收藏:0
阅读:422
1. 可变参数等同于数组参数
public void add(int[] ints) {
}
public void add(int...intt) {
}
以上代码是无法通过编译的。
2. 向上兼容
可变参数是JDK5的一个新特性,在此之前是通过数组来满足需求的。所以可变参数可以接受一个相同类型的数组,但是数组类型的参数不能够接受可变参数。
@Test
public void
test01() {
int[] ints =
{1, 3, 9, 20};
add2(ints); //这句代码可以正确运行(可变参数接受数组)
add2(1, 3,
9, 20); //这句代码可以正确运行(可变参数接受可变参数)
add(ints); //这句代码可以正确运行(数组参数接受数组)
add(1, 3,
9, 20); //这句代码无法通过编译(数组参数接受可变参数)
}
public
int add(int[] ints) {
int
sum = 0;
for (int
anInt : ints) {
sum += anInt;
}
return
sum;
}
public int
add2(int...intt) {
int sum =
0;
for (int
anInt : intt) {
sum += anInt;
}
return
sum;
}
3. 可变参数必须是参数列表中的最后一个参数
这个很容易就可以想明白。如果第一个参数是可变参数的话,那么编译器就要疯了,因为它不知道到底哪个是第2个参数。
public void add(int...intt, String s) {
}//这个方法无法通过编译器的检查。
评论(0)