今天同事问怎么获取List里面元素最大值对象,开始设计的使用排序,然后get(0),如下:
但是同事不想使用排序获取的方法,所以改成了使用Java8的 lamda ,代码如下:
TestReq是类
number是需要对比大小的字段
getNumber() 是 number的getter方法
也可以这样,更加健壮
就是避免空指针,添加一个filter,判断number不能为空,
.filter(Objects::nonNull).filter(TestReq -> TestReq.getNumber() != null)
或者使用orElse防止空指针
也是加了
.filter(Objects::nonNull)
如果是获取最小的值的发,把max改成min就好了
运行结果: