参见英文答案 >
difference fn(String… args) vs fn(String[] args)6个
Java中的String … args和String [] args有什么区别?
Java中的String … args和String [] args有什么区别?
我是Java编程的新手.
任何人都可以告诉我(String …. args)&之间的区别是什么? (String [] args)如果我用第一个代替第二个……..它有什么区别吗?
String … args将声明一个需要可变数量的String参数的方法.参数的数量可以是任何东西:包括零.
String [] args和等效的String args []将声明一个只需要一个参数的方法:一个字符串数组.
可能不会从这些观察结果中产生的一个区别是,在第二种情况下(但不是第一种情况),调用者可能具有对该数组的引用.在这两种情况下,该方法都使用args作为字符串数组,但是如果它执行交换数组元素之类的操作,如果使用String … args形式,则调用方将无法看到它.
解决方法
如果你有void x(String … args)方法,你可以把它称为x(“1”,“2”,“3”)而void x(String [] args)只能被称为x(new String [] {“1”,“3”}).