首页 > 代码库 > Java可变参数
Java可变参数
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) {
}//这个方法无法通过编译器的检查。
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。