[英]Passing List<String> to String… parameter
我正在努力将一个字符串List传递给一个需要参数“ String ... ”的方法。
有人可以帮帮我吗?
// How to put names into dummyMethod?
List<String> names = getNames();
public void dummyMethod(String... parameter) {
mInnerList.addAll(Arrays.asList(parameter));
}
您必须将List<String>
转换为String数组才能在dummyMethod
的'varargs'参数中使用它。 您可以使用带有额外数组的toArray
作为参数。 否则,该方法返回一个Object[]
,它将不会编译:
List<String> names = getNames();
dummyMethod(names.toArray(new String[names.size()]));
您可以执行以下操作:
dummyMethod(names.toArray(new String[names.size()])
这会将列表转换为数组
在方法内传递String数组( String[]
)。 您必须将List转换为Array然后传递它。
if (names != null) {
dummyMethod(names.toArray(new String[names.size()]));
}
这是vararg参数,为此您应该传递数组。 ArrayList不起作用。 您可以在传递给方法之前将此列表转换为数组。
String a = new String[names.size];
list.toArray(a)
var-arg实际上接受一个数组,你可以使用它:
dummyMethod(names.toArray(new String[names.size()]));
这是一个示例代码:
List<String> names = new ArrayList<>();
names.add("A");
names.add("B");
dummyMethod(names.toArray(new String[names.size()]));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.