字符串。。。参数

2022-09-01 20:13:25

我必须为家庭作业实现一个API,我的导师已经为API中的一种方法(基于javadoc)使用了我不熟悉的符号。

public void method(String... strs);

“...”是什么意思意味 着?稍后看起来我需要使用单个字符串实际参数以及多个字符串实际参数来调用相同的方法...

Java没有可选参数(据我所知),所以我在这里有点困惑......


答案 1

它被称为varargs;http://docs.oracle.com/javase/6/docs/technotes/guides/language/varargs.html

这意味着您可以将任意数量的参数传递给该方法(甚至零)。

在该方法中,参数将自动放在指定类型的数组中,您可以使用该数组访问各个参数。


答案 2

是的,这意味着您可以将任意 no 的 Strings 作为此方法的参数。

对于您的方法:

public void method(String... strs); 

您可以将其称为:

method(str)
method(str1, str2)
method(str1,str2,str3)

任何没有参数都会起作用。换句话说,它是以下各项的替代品:

 public void method(String[] str);