使用java8新特性,返回list中合同实体中合同名称属性不等于2024,或合同名称属性等于null或者合同名称属性等于空字符串的实体集合
时间: 2024-10-20 10:14:12 浏览: 20
java反射遍历实体类属性和类型,并赋值和获取值的简单方法
5星 · 资源好评率100%
在Java 8中,可以使用Stream API来处理这样的需求。首先,假设你有一个`ContractEntity`类,其中包含`name`字段,你可以创建一个列表`contracts`,然后使用`filter()`函数过滤出不符合条件的实体。这里是一个示例:
```java
import java.util.ArrayList;
import java.util.List;
class ContractEntity {
private String name;
// getters and setters...
}
List<ContractEntity> contracts = ... // 假设这是你的合同实体列表
List<ContractEntity> filteredContracts = contracts.stream()
.filter(contract -> contract.getName() == null || (contract.getName().isEmpty() && !"2024".equals(contract.getName())))
.collect(Collectors.toList());
```
在这个例子中,`filter()`方法接收一个谓词(lambda表达式),该表达式检查每个`ContractEntity`的`name`是否满足条件:等于`null`、为空字符串且不等于`2024`。
阅读全文