假设List中的每个元素都有一个Material和quantityInEntryUnit字段,可以使用Java 8的流式操作来完成该任务。具体代码如下:

double quantity = splitReleaseTotalMap.stream()
    .filter(item -> "026000010003".equals(item.getMaterial()))  // 筛选Material为026000010003的元素
    .mapToDouble(item -> item.getQuantityInEntryUnit())  // 获取quantityInEntryUnit字段的值
    .findFirst()  // 获取第一个匹配的元素
    .orElse(0.0);  // 如果没有找到,则默认值为0

解释一下代码的每一步:

  1. 使用stream()方法将List转换为流
  2. 使用filter()方法筛选出Material为026000010003的元素
  3. 使用mapToDouble()方法将元素的quantityInEntryUnit字段映射为double类型的流
  4. 使用findFirst()方法获取第一个匹配的元素
  5. 使用orElse()方法设置默认值为0.0

最终结果存储在变量quantity中。如果找不到Material为026000010003的元素,则quantity的值为0.0

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

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

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