我有一个构造函数,需要将vararg字符串作为参数。 我需要将这些字符串分开并将它们添加到ArrayList中,该部分将执行我的方法。
以下是代码:
private ArrayList<String> answers = new ArrayList<>();
private int index;
public Text(String ... str)
{
separateVararg(); // How to pass vararg in here
}
如何将此vararg从构造函数作为参数传递给方法?
答案 0 :(得分:3)
vararg只是一种方便的语法,可以像Text()
,Text("a")
或Text("a", "b")
一样调用它。
在该方法中,它基本上是String[]
因此,如果您需要它作为列表,请执行Arrays.asList(str)
要将所有重复项添加到answers
列表中,只需使用Set
之类的中间answers.addAll(new HashSet<>(Arrays.asList(str)));
即可
要迭代元素并进行单独检查,只需在str
数组上使用for-each循环,或者如果要消除重复项,则在Set
上使用。
答案 1 :(得分:0)
将String
添加到List
并改为访问
public Text(String... str)
{
answers.addAll(Arrays.asList(str));
}
然后,您可以访问answers
以获取String
。