Java 对于未知数量的参数,如何格式化字符串[]{a,b,c,…n}之类的数组?
如何将未知数量的参数传递给字符串数组。 简单地说,我需要一个概括:Java 对于未知数量的参数,如何格式化字符串[]{a,b,c,…n}之类的数组?,java,arrays,Java,Arrays,如何将未知数量的参数传递给字符串数组。 简单地说,我需要一个概括: private String[] contactsFirstNameData = new String[] { "Emerson", "Lake", "Palmer" }; 所以我可以这样或类似地表达: LinkedList<String> l = new LinkedList<>(); l.add("Emerson"); l.add("Lake"); l.add("Palmer"); p
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
}
LinkedList l=新建LinkedList();
l、 添加(“爱默生”);l、 添加(“湖泊”);l、 添加(“帕尔默”);
私有字符串[]联系人FirstNameData=新字符串[]{
//传递l元素的函数
}
如果您的字段是静态最终,则可以在静态块中对其进行初始化:-
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);
}
如果您的字段是静态最终,则可以在静态块中对其进行初始化:-
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);
}
这将很棘手,如图所示,因为
contactsFirstNameData
是静态数据,因此在l
之前定义,后者是实例数据。@daveLinkedList l=new LinkedList()代码>也是静态的:P@CommonMan我认为l
需要一个静态的限定符才能是静态的,不是吗?@dave是的,但它仍然不能解决OP的问题。dave,它们是不同的,但“等效”的代码片段。。。这就是我的意思。很抱歉给你带来了困惑。不过,观察结果不错。如图所示,这将是一个棘手的问题,因为contactsFirstNameData
是静态数据,并且(因此)在l
之前定义,后者是实例数据。@daveLinkedList l=new LinkedList()代码>也是静态的:P@CommonMan我认为l
需要一个静态的限定符才能是静态的,不是吗?@dave是的,但它仍然不能解决OP的问题。dave,它们是不同的,但“等效”的代码片段。。。这就是我的意思。很抱歉给你带来了困惑。不过,观察得不错。你的更新版本比以前干净多了。可惜我已经“浪费”了我的一票;)@疯狂物理学家谢谢你,你将有机会对我未来的答案进行投票:)谢谢@Kartik,这就是我想要的@鲁克。这个答案的第一次编辑几乎没有这么精雕细琢。我已经删除了过时的评论。您的更新版本比以前的版本更干净。可惜我已经“浪费”了我的一票;)@疯狂物理学家谢谢你,你将有机会对我未来的答案进行投票:)谢谢@Kartik,这就是我想要的@鲁克。这个答案的第一次编辑几乎没有这么精雕细琢。我已经删除了我过时的评论。
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);
}