在IntelliJ中的lambda表达式中放置条件断点

时间:2015-07-28 17:46:25

标签: intellij-idea lambda java-8

如何在IntelliJ中的lambda表达式中放置条件断点。例如。我有一份声明stream().map(s -> s * 2).forEach(...)。我想在这个语句中放置一个条件断点s == 5

IntelliJ无法将s识别为有效。那是为什么?

1 个答案:

答案 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>