Java中的String …参数
我必须为家庭作业分配实现一个API,我的教师使用了一个我不熟悉的符号来表示API中的一个方法(基于javadoc)。
public void method(String... strs);
“……”是什么意思? 后来看起来我需要使用单个字符串实际参数调用同样的方法,以及多个字符串实际参数…
Java没有可选参数(据我所知),所以我在这里有点困惑……
它被称为varargs; http://docs.oracle.com/javase/6/docs/technotes/guides/language/varargs.html
这意味着您可以向该方法传递任意数量的参数(甚至为零)。
在该方法中,参数将自动放入指定类型的数组中,用于访问各个参数。
它被称为省略号 ,它意味着该方法可以将多个String
作为其参数。
请参阅: 有关在Oracle网站上传递参数的Java教程 。
是的,这意味着您可以将任意数量的字符串作为此方法的参数。
对于你的方法:
public void method(String... strs);
你可以称之为:
method(str) method(str1, str2) method(str1,str2,str3)
任何没有任何遗嘱都可行。 在其他世界中,它可以替代:
public void method(String[] str);
请参阅java可选参数 :从Java 5开始,Java支持可变数量的参数。