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]
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。