Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有equal的Java流,始终返回null_Java_Java Stream_Equals - Fatal编程技术网

具有equal的Java流,始终返回null

具有equal的Java流,始终返回null,java,java-stream,equals,Java,Java Stream,Equals,关于我最后一个问题的补充问题 BigDecimal fee; fee = fees.stream() .filter(p -> p.getTodate().isAfter(LocalDateTime.now())) .filter(p -> p.getFromdate().isBefore(LocalDateTime.now())) .filter(p -> p.getId().equal

关于我最后一个问题的补充问题

    BigDecimal fee;

    fee = fees.stream()
            .filter(p -> p.getTodate().isAfter(LocalDateTime.now()))
            .filter(p -> p.getFromdate().isBefore(LocalDateTime.now()))
            .filter(p -> p.getId().equals("001001"))
            .map(Fee::getFee)
            .findFirst()
            .map(BigDecimal::new)
            .orElse(new BigDecimal(1000));

    return fee;
我首先检查费用是否是最新的,因为可能会有即将到来的费用和不再有效的费用。然后我尝试将id与剩余费用匹配

问题是最后一个过滤器。 我已经检查了多次,在数据中,正好有一个条目具有当前日期和相同的id。(它以前是输入的,但出于调试目的,我现在已经硬编码了它)

如果我去掉日期过滤器,它仍然只会返回bigdecimal1000

我在这里看不到什么

这两个值都是字符串

不是一个真正的答案,但我没时间了,做了完全相同的事情 使用常规的旧for循环,一切都按预期进行,工作正常

因此,我仍然不会继续使用流

编辑: 代码


也许getFee会返回一个空列表。您应该只使用过滤器来尝试结果,看看问题是否真的在过滤器行为上…@snap完成了,数据正在通过。您可以提供一个示例代码,以提供一个可运行的代码来处理您的问题。。。。45人阅读了你的帖子,没有人能回答,因为我们无法解决你的问题,除非测试它,以了解你的代码中到底发生了什么,导致它失败。该问题显然不直接出现在您的代码段中。这显然需要一个。请包含用于修复该问题的代码,以防将来有人遇到类似问题。
for(Fee fee : fees){
    if(fee.getId.equals(id)){
        if(fee.getFromdate().isBefore(LocalDateTime.now())){
            if(fee.getTodate().isAfter(LocalDateTime.now())){
                BigDecimal z = new BigDecimal(fee.getFundservicefee());
                return z.movePointLeft(2);
            }
        }
      }
  }