【问题标题】:Putting conditional breakpoints in lambda expressions in IntelliJ在 IntelliJ 的 lambda 表达式中放置条件断点
【发布时间】:2015-07-28 17:46:24
【问题描述】:

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

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

【问题讨论】:

标签: intellij-idea lambda java-8


【解决方案1】:

这不是 IntelliJ 14 的一部分,但它将成为 IntelliJ 15 的一部分。

您可以看到它是features being added 的一部分,您可能可以下载EAP Build 并检查它是否已经实现了此功能。

话虽如此,在 IntelliJ 14 中,如果您将 lambda(暂时出于调试目的)更改为代码块,您仍然可以在 lambda 中停止。

stream().map(s -> { return s * 2; }).forEach(x -> {System.out.println(x); });

IntelliJ 确实让我在 lambda 块中设置了一个断点。它仍然会抱怨/建议可以在没有代码块的情况下将其简化为 lambda,但是您可以在调试时暂时保留它,并在确定一切正常后将其更改为更简单的表达式。

【讨论】:

    猜你喜欢
    • 2011-04-08
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多