reduce 使用说明
代码
public static void main(String[] args) {
List<Stu> list = Lists.newArrayList(new Stu(1, 100L),
new Stu(2, 200L),
new Stu(null, 300L));
/**
* 注意这里的空指针异常
*/
Optional<Stu> o = list.stream()
.filter(e -> e != null && e.age != null)
.reduce((x, y) -> x.age > y.age ? x : y);
System.out.println(o.get());
}
@Data
@AllArgsConstructor
public static class Stu {
private Integer age;
private Long money;
}
结果
TestTest.Stu(age=3, money=300)