首页 > 编程 > Java > 正文

java可变参数

2019-11-10 19:57:06
字体:
来源:转载
供稿:网友

java可变参数是指参数数量可以变化的参数,例如public void test(int...a),参数可以有0或者多个,在方法内部参数以数组来接收:

public void test(int...a){

int[] b = a;

}。

但是有个问题,如果添加一个名称相同,参数类型相同而且参数个数确定的方法会怎样呢?编译能通过吗?如果是重载的方式是会编译报错的。

我添加了一个方法:

public void test(int a){

}

并没有编译错误,说明可变参数的实现原理应该是用传递进来的参数,初始化一个数组再传递给方法使用。

分别调用test(1)、test(1,2),发现只传一个参数时调用的是第二个方法,说明会优先调用不包含可变参数的方法,毕竟固定参数的方法是固定的。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表