Java 10引入了几种新方法来促进不可修改集合的创建。
 List.copyOf , Set.copyOf和Map.copyOf方法从现有实例创建新的集合实例。 例如: 
List<String> modifiable = Arrays.asList("foo", "bar");
List<String> unmodifiableCopy = List.copyOf(list);// Note that since Java 9, you can also use "of" to create
// unmodifiable collections
List<String> unmodifiable = List.of("foo", "bar"); 还有新的收集器方法toUnmodifiableList , toUnmodifiableSet和toUnmodifiableMap ,以允许将流的元素收集到不可修改的集合中。 例如: 
// Java 10
Stream.of("foo", "bar").collect(toUnmodifiableList());// before Java 10
Stream.of("foo", "bar").collect(collectingAndThen(toList(), Collections::unmodifiableList));翻译自: https://www.javacodegeeks.com/2018/06/stream-unmodifiable-collection.html