【发布时间】:2018-06-02 09:34:20
【问题描述】:
我有这段代码,我想返回一个邮政编码列表:
List<String> postcodes = new ArrayList<>();
List<Entry> entries = x.getEntry(); //getEntry() returns a list of Entry class
for (Entry entry : entries) {
if (entry != null) {
Properties properties = entry.getContent().getProperties();
postcodes.addAll(Arrays.asList(properties.getPostcodes().split(",")));
}
}
return postcodes;
这是我尝试使用 stream() 方法和以下链式方法:
...some other block of code
List<Entry> entries = x.getEntry.stream()
.filter(entry -> recordEntry != null)
.flatMap(entry -> {
Properties properties = recordEntry.getContent().getProperties();
postCodes.addAll(Arrays.asList(properties.getPostcodes().split(",")));
});
【问题讨论】:
-
first: filter(entry -> recordEntry != null) 我猜这是错误的
-
第二:为什么要使用流?
-
第三:编译错误是什么?
-
@AniketSahrawat 缺少返回语句是他最小的问题:-)
标签: java lambda java-8 java-stream flatmap