最近项目中需要对对象的一些字段进行排序以及分页,第一反应就是用stream流。无它,方便快捷。
但使用中还是不出意料的遇到了几个坑。
第一个坑:比较的字段存在 null 值导致排序异常,进而获取对象空指针。解决方法也简单,对空指进行排序,设置空指最前或者最后。
第二个坑:对字符串类型的数字排序,导致排序错误。
如升序排列得到 1、11、2、23、3 的结果,原因就是字符串是逐位进行排序。
最近项目中需要对对象的一些字段进行排序以及分页,第一反应就是用stream流。无它,方便快捷。
但使用中还是不出意料的遇到了几个坑。
第一个坑:比较的字段存在 null 值导致排序异常,进而获取对象空指针。解决方法也简单,对空指进行排序,设置空指最前或者最后。
第二个坑:对字符串类型的数字排序,导致排序错误。
如升序排列得到 1、11、2、23、3 的结果,原因就是字符串是逐位进行排序。