如何在同一语句中创建和初始化(在 Java 中)列表 <String[]>? (编辑请注意:这*不*只是一个列表<String>)
How to Create and Initialize (in Java) a List<String[]> in the same statement? (Editors please NOTE: this *not* the same as just a List<String>)
是否可以将 String[]
的 List
的创建与 List
中第一个条目的初始化结合起来?
final List<String[]> rolesCsv = new ArrayList<String[]>();
rolesCsv.add(new String[] {"Role Name","Description"});
换句话说,我可以将以上两行合并为一行,同时创建和初始化 List
吗?
List<String[]>
确实需要可变以便稍后添加到 List
,是的。
编辑重要提示:创建和初始化此定义与简单创建和初始化的解决方案大不相同List<String>
- 在您自动 link 这个问题到常见答案之前对于后者,请停止!问题不同,需要不同的解决方案。
List<String> sameline = Arrays.asList("1", "2", "3");
这是创建和初始化 Java列表在同一行的方法。
@user16320675 在评论(上)中给出了正确答案,并且效果很好。它处理外部 List 和内部字符串数组的创建。指向简单数组 asList 的其他答案是针对简单字符串的,这不是所问的问题。
创建可变列表
final List<String[]> rolesCsv =
new ArrayList<String[]>Collections.singletonList(new String[]{"Role Name","Description"}));
否则(尽管是数组,它的元素不是不可变的)
final List<String[]> rolesCsv =
Collections.singletonList(new String[]{"Role Name","Description"})
是否可以将 String[]
的 List
的创建与 List
中第一个条目的初始化结合起来?
final List<String[]> rolesCsv = new ArrayList<String[]>();
rolesCsv.add(new String[] {"Role Name","Description"});
换句话说,我可以将以上两行合并为一行,同时创建和初始化 List
吗?
List<String[]>
确实需要可变以便稍后添加到 List
,是的。
编辑重要提示:创建和初始化此定义与简单创建和初始化的解决方案大不相同List<String>
- 在您自动 link 这个问题到常见答案之前对于后者,请停止!问题不同,需要不同的解决方案。
List<String> sameline = Arrays.asList("1", "2", "3");
这是创建和初始化 Java列表在同一行的方法。
@user16320675 在评论(上)中给出了正确答案,并且效果很好。它处理外部 List 和内部字符串数组的创建。指向简单数组 asList 的其他答案是针对简单字符串的,这不是所问的问题。
创建可变列表
final List<String[]> rolesCsv =
new ArrayList<String[]>Collections.singletonList(new String[]{"Role Name","Description"}));
否则(尽管是数组,它的元素不是不可变的)
final List<String[]> rolesCsv =
Collections.singletonList(new String[]{"Role Name","Description"})