此公式在java中是否合法,以声明 ArrayList
List<Integer> list1 = new ArrayList<Integer>() {1,2,3,4,5};
答案 0 :(得分:5)
Java 8提供了几种替代方案,例如:
List<Integer> list1 = IntStream.of(1, 2, 3, 4, 5).boxed().collect(toList());
List<Integer> list1 = IntStream.rangeClosed(1, 5).boxed().collect(toList());
使用Java 7,您需要使用:
List<Integer> list1 = Arrays.asList(1, 2, 3, 4, 5); //can't add or remove
List<Integer> list1 = new ArrayList<> (Arrays.asList(1, 2, 3, 4, 5));
答案 1 :(得分:0)
不,你不能这样使用它
阅读this和this。这两页将清除您对声明arrayLists的所有怀疑。
或者,如果您只是想要解决方案,List<Integer> list1= new ArrayList<Integer>(Arrays.asList(1,2,3,4,5));
答案 2 :(得分:0)
不,但还有其他方法可以做到这一点,
List<Integer> list1= new ArrayList<Integer>(Arrays.asList(1,2,3,4,5));
或者您使用匿名内部类
答案 3 :(得分:0)
您可以使用这样的数组初始化表示法来执行此操作:
ArrayList<Integer> list1 = new ArrayList(Arrays.asList(new Integer[] {1, 2, 3, 4, 5 }));