如何格式化像字符串 [] {a, b, c, .. n} 这样的数组,用于未知数量的参数



如何将未知数量的参数传递给字符串数组。简而言之,我需要对此进行概括:

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);
}