【发布时间】:2020-07-22 18:00:26
【问题描述】:
在处理 Java 流时,我们可以使用收集器来生成一个集合,例如流。
例如,这里我们创建一个Month 枚举对象的流,并为每个对象生成一个String 来保存月份的本地化名称。我们通过调用Collectors.toList() 将结果收集到String 类型的List 中。
List < String > monthNames =
Arrays
.stream( Month.values() )
.map( month -> month.getDisplayName( TextStyle.FULL , Locale.CANADA_FRENCH ) )
.collect( Collectors.toList() )
;
monthNames.toString(): [janvier, février, mars, avril, mai, juin, juillet, août, septembre, octobre, novembre, décembre]
要实现 list unmodifiable,我们可以在 Java 10 及更高版本中调用 List.copyOf。
List < String > monthNamesUnmod = List.copyOf( monthNames );
➥ 有没有办法让带有收集器的流产生一个不可修改的列表,而我不需要包装对List.copyOf的调用?
【问题讨论】:
标签: java list java-stream collectors unmodifiable