if(infoList.size() >0) { deliveryInfo = infoList.stream() .filter(e -> e.getStatus() == 0) .findFirst() .orElse(infoList.get(0)); } 简化
时间: 2024-02-14 18:11:47 浏览: 75
这段代码可以简化为:
```
deliveryInfo = infoList.stream()
.filter(e -> e.getStatus() == 0)
.findFirst()
.orElseGet(() -> infoList.get(0));
```
这样可以避免使用 `if` 语句,而是使用 `orElseGet` 方法来处理不存在符合条件的元素的情况。同时也可以使用 `==` 替代 `equals` 来进行比较,因为 `getStatus()` 方法返回的应该是一个基本类型的数值。如果不存在符合条件的元素,则返回列表中的第一个元素。此处使用 `orElseGet` 方法代替 `orElse` 方法,可以在不存在符合条件的元素时避免不必要的对象创建。
相关问题
deliveryInfo = infoList.get(0); if(infoList.size() > 1) { deliveryInfo = infoList.stream().filter(e->e.getStatus().equals(0)).findFirst().get(); } 简化
这段代码可以简化为:
```
deliveryInfo = infoList.stream()
.filter(e -> e.getStatus() == 0)
.findFirst()
.orElse(infoList.get(0));
```
这样可以避免使用 `if` 语句,而是使用 `orElse` 方法来处理不存在符合条件的元素的情况。同时也可以使用 `==` 替代 `equals` 来进行比较,因为 `getStatus()` 方法返回的应该是一个基本类型的数值。如果不存在符合条件的元素,则返回列表中的第一个元素。
if(infoList.size() > 1) { deliveryInfo = infoList.stream().filter(e->e.getStatus().equals(0)).findFirst().get(); } 简化
这段代码可以简化为:
```
deliveryInfo = infoList.stream()
.filter(e -> e.getStatus() == 0)
.findFirst()
.orElse(null);
```
这样可以避免使用 `if` 语句,而是使用 `orElse` 方法来处理不存在符合条件的元素的情况。同时也可以使用 `==` 替代 `equals` 来进行比较,因为 `getStatus()` 方法返回的应该是一个基本类型的数值。
阅读全文