List.copyOf
是 Java 10 中引入的一个方法,它用于创建一个不可变的列表,该列表包含指定列表中的所有元素。它返回一个新的 List
对象,该对象是不可修改的,即不能添加、删除或修改其中的元素。
使用 List.copyOf
方法可以方便地创建一个不可变的列表,避免对原始列表进行修改。例如:
List<Integer> numbers = List.of(1, 2, 3, 4, 5);
List<Integer> immutableList = List.copyOf(numbers);
// 以下操作会抛出 UnsupportedOperationException 异常
immutableList.add(6);
immutableList.remove(1);
immutableList.set(0, 10);
在上面的例子中,我们首先创建了一个包含整数的列表 numbers
,然后使用 List.copyOf
方法创建了一个不可变的列表 immutableList
。由于 immutableList
是不可修改的,所以在尝试对其进行添加、删除或修改操作时,会抛出 UnsupportedOperationException
异常。
需要注意的是,List.copyOf
方法返回的是一个不可修改的列表,但并不保证列表中的元素也是不可修改的。如果原始列表中包含可修改的对象,那么在不可变列表中仍然可以修改这些对象。