()# 迁移到Java8示例之filter
使用Java8提供的lambda表达式和streaming api可以方便地表达循环中的条件和continue。
例如:
List<String> getNonNullStrings(List<String> strings) {
List<String> result = new ArrayList();
for (String string : strings) {
if (string == null) {
continue;
}
result.add(string);
}
return result;
}
可以写为:
List<String> getNonNullStrings(List<String> strings) {
return strings.stream()
.filter(Objects::nonNull)
.collect(Collectors.toList());
}