我有一个非常简单的问题:
如何在Java上使这段代码更简单:
ArrayList<String> s = new ArrayList<String>();
s.add("str1");
s.add("str hello");
s.add("str bye");
//...
类似的东西:
ArrayList<String> s = {"a1", "str", "mystr"};
或那:
ArrayList<String> s = new ArrayList<String>("a1", "str", "mystr");
或那:
ArrayList<String> s = new ArrayList<String>();
s.addAll("a1", "str", "mystr");
或那:
ArrayList<String> s = new ArrayList<String>();
s.addAll(new ArrayElements("a1", "str", "mystr"));
我只想要语法提示。感谢。
答案 0 :(得分:29)
List<String> s = Arrays.asList("a1", "str", "mystr");
答案 1 :(得分:22)
怎么样:
ArrayList<String> s = new ArrayList<String>();
Collections.addAll(s, "a1", "str", "mystr");
答案 2 :(得分:5)
List<String> s = Arrays.asList(new String[] {"a1", "str", "mystr"});
答案 3 :(得分:5)
你可以使用双重支撑:
ArrayList<String> s = new ArrayList<String>()
{{
add("str1");
add("str hello");
add("str bye");
//...
}};
答案 4 :(得分:4)
答案 5 :(得分:2)
在Java 8之前或之后,您可以编写:
ArrayList<String> s =
new ArrayList<>(Arrays.asList("str1", "str hello", "str bye"));
从Java 8开始,您可以编写:
ArrayList<String> s =
Stream.of("str1", "str hello", "str bye")
.collect(Collectors.toCollection(ArrayList::new));
使用Eclipse Collections,您可以编写以下内容:
ArrayList<String> s =
Lists.mutable.with("str1", "str hello", "str bye")
.into(new ArrayList<>());
如果可以使用List
代替ArrayList
:
List<String> s = Lists.mutable.with("str1", "str hello", "str bye");
注意:我是Eclipse Collections的提交者。
答案 6 :(得分:0)
如果您使用的是Java 9,则可以使用List.of():
List<String> s = List.of("str1", "str hello", "str bye");
但这将是一个不可变的列表。如果你需要一个可变的Arraylist:
ArrayList<String> s = new ArrayList<>(List.of("str1", "str hello", "str bye"))