如何将未知数量的参数传递给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/

10-15 10:19