java8stream流操作常见问题
java8 stream流操作常见问题
本篇⽂章主要⽤于个⼈记录⾃⼰在使⽤stream流操作的时候遇见的常见的问题,有出现相关问题的⼩伙伴可以参考⼀下是不是也和我犯了⼀样的错误呢!(真的很烦百度出来的乱七⼋糟的答案,很容易误导⼈,所以决定⾃⼰记录⼀下,希望能帮到你们)
第⼀个问题是在使⽤stream进⾏排序时候抛出空指针异常:java.lang.NullPointerException: null
1. 我在查询所有的⽤户信息表的时候进⾏排序,使⽤sql语句进⾏排序也可以,但是当表内数据量增加很⼤的话,会很影响数据库的性
能,所以决定把排序放到
业务层⾯(java代码)来实现,所以此时就⽤到了java8的stream流操作,下⾯是具体实现的代码
//获取所有⽤户数据
List<User> userStream = All()
/
/将数据转成stream流
.stream()
//调⽤stream流的排序⽅法:sorted;对User::getAge中的age进⾏升序排序
.sorted(Comparatorparing(User::getAge))
//将stream流转化为list集合
.List());
System.out.println(userStream);
2. 下⾯是我的表数据:
我们运⾏程序的时候发现就会出现空指针异常:java.lang.NullPointerException: null
java stream原因:使⽤stream流操作指定字段进⾏排序时,这个字段的值在数据库不允许存在null数据,否则排序
会报空指针异常,也就是说我们按照age进⾏排序,在数据库⾥⾯age就不允许存在null的数据,否则就会出现此问题,完美解决!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。