答案 1
一个简单的解决方案是在匿名类创建中转换您的lambda。创建所需接口的变量,您将获得一个可调试的表达式。
Predicate<Object> predicate = new Predicate<Object>() {
@Override
public boolean test(Object item) {
return true;
}
};
int size = ((List<?>) receipt.getPositions().stream().filter(predicate).collect(Collectors.toList())).size();
现在,如果你站在“int size = ...”行调试时,可以查看以下结果:
((List<?>) receipt.getPositions().stream().filter(predicate).collect(Collectors.toList())).size()
我希望它能帮助:)
答案 2
推荐
-
使用 lambda 妨碍类型变量的推理 我有以下成功编译的代码: 如果我将供应商的声明更改为 ,则两个变体都编译成功。 我使用Java 8编译器编译代码。 为什么带有lambda的代码无法编译,尽管它等同于非lambda版本?这是Java的已
-
-
过滤功能不懒惰 我正在制作我自己的Java流库版本,以此为乐。这是我的班级签名: 我该如何解决这个问题,有没有办法通过懒惰的减少来实现懒惰的过滤器? 致谢:这个练习和上述函数的实现受到Chiusano和B
-
确保函数参数可序列化的最佳方法是什么? 我正在编写一个可序列化的类,它接受几个参数,包括:存储在成员变量中,因此需要可序列化。如果 Java lambdas 内部以 bolt 形式运行的类,该类被序列化以传输到 remove 群集以执行。在集群上
-
使用 Eclipse 编译器编译时,LocalVariableTypeTable 中奇怪的 “!*” 条目 让我们使用 Eclipse Mars.2 捆绑包中的 ECJ 编译器编译以下代码: 我很惊讶地看到这个条目。JVM规范 定义了字段签名的语法,如果我理解正确,它不包括与 .
标签
推荐