如何在IntelliJ中的lambda表达式中放置条件断点。例如。我有一份声明stream().map(s -> s * 2).forEach(...)
。我想在这个语句中放置一个条件断点s == 5
。
IntelliJ无法将s
识别为有效。那是为什么?
答案 0 :(得分:1)
这不是IntelliJ 14的一部分,但它将成为IntelliJ 15的一部分。
您可以看到它是features being added的一部分,您可以下载EAP Build并检查它是否已实现此功能。
如上所述,在IntelliJ 14中,如果你将它(暂时用于调试目的)更改为代码块,你仍然可以停在lambda中。
stream().map(s -> { return s * 2; }).forEach(x -> {System.out.println(x); });
IntelliJ确实让我在lambda块中设置了一个断点。它仍然会抱怨/建议这可以简化为没有代码块的lambda,但是你可以在调试时暂时保留它,并在确定一切正常后将其更改为更简单的表达式。 / p>