java list stream排序报java.lang.NullPointerException
时间: 2024-03-01 17:47:19 浏览: 127
Myeclipse安装aptana插件后报java.lang.NullPointerException解决方案
4星 · 用户满意度95%
当使用Java的List Stream进行排序时,如果列表中存在null元素,就会报java.lang.NullPointerException异常。这是因为在排序过程中,Stream会调用元素的compareTo方法进行比较,而null无法调用该方法,导致异常的抛出。
为了解决这个问题,你可以在排序之前先过滤掉列表中的null元素。可以使用Stream的filter方法来实现这一点。下面是一个示例代码:
```
List<String> list = Arrays.asList("apple", null, "banana", null, "cherry");
List<String> sortedList = list.stream()
.filter(Objects::nonNull) // 过滤掉null元素
.sorted()
.collect(Collectors.toList());
```
在上面的代码中,我们使用了filter方法来过滤掉null元素,然后再进行排序。这样就可以避免NullPointerException异常的发生。
阅读全文