在使用Java流时,我们可以使用收集器来生成诸如流之类的集合。
例如,在这里我们制作了Month
枚举对象的流,并为每个对象生成一个String
,其中包含月份的本地化名称。通过调用Collectors.toList()
,我们将结果收集到List
类型的String
中。
List < String > monthNames =
Arrays
.stream( Month.values() )
.map( month -> month.getDisplayName( TextStyle.FULL,Locale.CANADA_FRENCH ) )
.collect( Collectors.toList() )
;
monthNames.toString():[janvier,février,火星,avril,mai,juin,juillet,août,septembre,十月,十一月,décembre]
要创建list unmodifiable,我们可以在Java 10及更高版本中调用List.copyOf
。
List < String > monthNamesUnmod = List.copyOf( monthNames );
➥有没有一种方法可以使带有收集器的流生成无法修改的列表,而无需包装对List.copyOf
的调用?