可以使用Java 8的流式操作和Lambda表达式来实现该需求:

OptionalDouble releaseTotal = splitReleaseTotalMap.stream()
        .filter(item -> "026000010003".equals(item.getMaterial()))
        .mapToDouble(OdsMaterialDocumentItem::getValue)
        .findFirst();

double value = releaseTotal.orElse(0.0);

解释一下上面的代码:

  1. 使用stream()方法将splitReleaseTotalMap转换为流。
  2. 使用filter()方法过滤出Material字段为026000010003的元素。
  3. 使用mapToDouble()方法将Value字段转换为double类型的流。
  4. 使用findFirst()方法获取第一个结果,返回一个OptionalDouble对象。
  5. 使用orElse()方法获取OptionalDouble中的值,如果没有值则返回0.0

最终得到的value变量即为Material字段为026000010003的元素的Value值,如果没有符合条件的元素则为0.0

java 8从ListOdsMaterialDocumentItem splitReleaseTotalMap中获取字段Material为026000010003的值 并判断是否有值没有值的话取0

原文地址: http://www.cveoy.top/t/topic/huDO 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录