1、接受的传入参数情况:
如public void test(String ...args){...}
1)不使用参数,如test()
2)使用一个或多个参数,如test("1"); test("1","2");
3)使用数组 test(new String[]{"1","2"});
2、方法内部访问参数:
在test方法内部,我们可以像使用数组的访问方式一样来访问参数args.如:args[i]
3、编译器原理
编译器编译test(String ...args){...} 编译成为数组调用的方式test(String[] args){}
4、注意事项
如果同时同一个类中还有一个test方法,例如test(String args) ,我们采用 test("1")的方式调用,我们就可以知道了,因为有这个方法存在,所以编译器就会优先使用这个 test(String args) 方法,而不会使用不定参数的方法,这个原因很明确,因为不定参数本质上是一个数组为参数的方式。
所以,如果你定义了一个不定参数的test方法,如果你再定义一个test(String[] args)的以数组为参数的方法,编译器就会提示你方法定义重复。
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:https://my.oschina.net/langxSpirit/blog/482713