Java9中List.of和Arrays.asList区别
下文笔者讲述java9中list.of和Arrays.asList区别说明,如下所示
Arrays.asList:
返回可变list
Arrays.asList支持null
Arrays.asList:数组的修改会影响原数组
List.of:
返回是不可变list
List.of不支持null
例
List<Integer> list = Arrays.asList(1, 2, null);
list.set(1, 10); // OK
List<Integer> list = List.of(1, 2, 3);
list.set(1, 10); // Fails
List<Integer> list = Arrays.asList(1, 2, null); // OK
List<Integer> list = List.of(1, 2, null); // 异常:NullPointerException
它们的contains方法对null处理不一样
List<Integer> list = Arrays.asList(1, 2, 3);
list.contains(null); // Return false
List<Integer> list = List.of(1, 2, 3);
list.contains(null); // 抛出NullPointerException异常
Integer[] array = {1,2,3};
List<Integer> list = Arrays.asList(array);
array[1] = 10;
System.out.println(list); // 输出 [1, 10, 3]
Integer[] array = {1,2,3};
List<Integer> list = List.of(array);
array[1] = 10;
System.out.println(list); // 输出 [1, 2, 3]
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


