Java 8 Stream API 检查集合中属性值不一致
使用Java 8的Stream API可以方便地检查集合List
以下代码展示了如何使用Stream API来检查这种情况:
Optional<OtherChargeScheme> invalidChargeScheme = otherChargeSchemes.stream()
.filter(scheme -> scheme.getChargeSchemeId() == null || scheme.getFirstChargingDate() == null)
.findFirst();
if (invalidChargeScheme.isPresent()) {
throw new IllegalArgumentException('存在一个属性有值一个属性没值的OtherChargeScheme');
}
这段代码首先使用stream()方法将集合转换为Stream对象,然后使用filter()方法筛选出属性有值一个属性没值的元素。具体来说,filter()方法的条件scheme.getChargeSchemeId() == null || scheme.getFirstChargingDate() == null表示如果'chargeSchemeId'属性为空或者'firstChargingDate'属性为空,则该元素将被筛选出来。最后,使用findFirst()方法获取第一个符合条件的元素。
如果存在这样的元素,即invalidChargeScheme.isPresent()返回true,则抛出一个IllegalArgumentException异常,提示存在一个属性有值一个属性没值的OtherChargeScheme。
原文地址: https://www.cveoy.top/t/topic/ozl1 著作权归作者所有。请勿转载和采集!