如何将未知数量的参数传递给String数组。
简而言之,我需要对此进行概括:
private String[] contactsFirstNameData = new String[] {
"Emerson", "Lake", "Palmer"
};
所以我可以这样或类似地表达它:
LinkedList<String> l = new LinkedList<>();
l.add("Emerson"); l.add("Lake"); l.add("Palmer");
private String[] contactsFirstNameData = new String[] {
//Some function to pass l's elements
}
最佳答案
String[] contactsFirstNameData = l.toArray(String[]::new);
如果您的字段是
static final
,则可以在静态块中对其进行初始化:private static final String[] contactsFirstNameData;
static {
LinkedList<String> l = new LinkedList<>();
l.add("Emerson");
l.add("Lake");
l.add("Palmer");
contactsFirstNameData = l.toArray(String[]::new);
}
如果只是
final
而不是静态的,则可以使用构造函数:private final String[] contactsFirstNameData;
public MyClass() {
LinkedList<String> l = new LinkedList<>();
l.add("Emerson");
l.add("Lake");
l.add("Palmer");
contactsFirstNameData = l.toArray(String[]::new);
}
关于java - 如何为未知数量的参数格式化像String [] {a,b,c,…n}这样的数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54175589/