Java 如何将vararg作为参数传递给方法?
我有一个构造函数,它需要字符串的vararg作为参数。 我需要分离这些字符串并将它们添加到ArrayList中,这部分将完成我的方法 代码如下:Java 如何将vararg作为参数传递给方法?,java,oop,variadic-functions,Java,Oop,Variadic Functions,我有一个构造函数,它需要字符串的vararg作为参数。 我需要分离这些字符串并将它们添加到ArrayList中,这部分将完成我的方法 代码如下: private ArrayList<String> answers = new ArrayList<>(); private int index; public Text(String ... str) { separateVararg(); // How to pass vararg in here } priva
private ArrayList<String> answers = new ArrayList<>();
private int index;
public Text(String ... str)
{
separateVararg(); // How to pass vararg in here
}
private ArrayList answers=new ArrayList();
私有整数索引;
公共文本(字符串…str)
{
separatevarg();//如何在此处传递vararg
}
如何将此vararg作为参数从构造函数传递给方法?将
字符串添加到列表中,然后访问该字符串
public Text(String... str)
{
answers.addAll(Arrays.asList(str));
}
然后您可以访问答案
以获取您的字符串。vararg只是一种方便的语法,可以像Text()
、Text(“a”)
或文本(“a”、“b”)
那样调用它
在方法中,它本质上是一个字符串[]
所以,如果您需要它作为列表,只需执行Arrays.asList(str)
要将除重复项以外的所有内容添加到答案列表中,只需使用中间集合
如answers.addAll(新HashSet(Arrays.asList(str))代码>
要迭代元素并进行单独检查,只需在str
数组或Set
上使用for-each循环,如果要消除重复项。我不想将vararg中的所有元素添加到列表中,我需要先进行一些检查,例如,查看其中是否有一些相同的字符串。然后迭代字符串
,并测试每个字符串,如果它符合您的条件,则将其添加到列表
。