e -> e.getMatterList().stream()
时间: 2024-05-17 21:16:30 浏览: 7
这是 Java 8 中的流式编程语法,表示获取对象 e 中的 MatterList 属性,并将其转换为一个 Stream 流,以便进行后续的流式处理操作。在流式编程中,常常使用 Stream 流来对集合或数组进行操作,例如过滤、排序、映射、归约等等。Stream 流的好处是可以简化代码,提高代码的可读性和可维护性。同时,Stream 流还支持并发处理,可以充分利用多核处理器的优势,提高程序的运行效率。
相关问题
inStream.filter(conditions) .flatMap(t -> { builder.accept(t); return Stream.empty(); }) .forEach(e -> {});会终止inStream吗
`inStream.filter(conditions).flatMap(t -> { builder.accept(t); return Stream.empty(); }).forEach(e -> {});`不会终止`inStream`,它的作用是对`inStream`中满足`conditions`条件的元素,调用`builder.accept`方法进行处理,并返回一个空的`Stream`对象。最后对每个元素进行一个空的操作。
`flatMap`方法返回的是一个新的`Stream`对象,对`flatMap`方法返回的`Stream`对象进行`forEach`操作并不会影响原始的`inStream`流。在`forEach`方法中执行空操作,也不会对流中的元素产生任何影响。
因此,`inStream.filter(conditions).flatMap(t -> { builder.accept(t); return Stream.empty(); }).forEach(e -> {});`不会终止`inStream`。
stream流当中为什么e-> e.getGroState() == 1会报错,而e-> e.getGroState() == null不会报错
在 Java 8 Stream 中,调用对象的方法时,如果该对象是 null,就会抛出 NullPointerException 异常。因此,当集合中存在 null 元素时,调用 `e.getGroState()` 方法就会出现空指针异常,导致程序报错。
根据你提供的代码,`e -> e.getGroState() == 1` 会报错的原因是因为 `projectAndTeam` 列表中存在为 null 的元素,导致调用 `e.getGroState()` 方法时抛出了空指针异常。而 `e -> e.getGroState() == null` 不会报错的原因是因为它不是调用 `getGroState()` 方法,它只是判断 `getGroState()` 是否为 null,即使 `e` 为 null,也不会出现空指针异常。
为了避免空指针异常,可以在调用 `e.getGroState()` 方法之前先判断 `e` 是否为 null,例如:
```
List<GetProjectAndTeamOutBO> collectTrue = projectAndTeam.stream()
.filter(e -> e != null && e.getGroState() == 1)
.collect(Collectors.toList());
```
这样就可以避免空指针异常了。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)