在调试会话中执行未使用的lambda表达式会抛出ClassNotFoundException

时间:2014-12-21 15:38:46

标签: intellij-idea lambda java-8 classnotfoundexception

这有点挑剔 - 我想知道这是一个错误还是一个功能:

我在Intellij中有这个主要内容:

 public static void main(String[] args) throws InterruptedException {
    Comparator<String> comp = (s1,s2) ->  1;
    System.out.println("Break here");
 }

当我在“System.out ..”调试并中断时,我看到 comp 已初始化。但是,当我尝试从“Expression Evaluation”窗口执行它时,我得到一个ClassNotFoundException!

当然,在代码中评估相同的东西是完美的。它是否与lambdas在引擎盖下实现的方式或IDE中的错误有关?

我正在使用Intellij 13.1.4。

1 个答案:

答案 0 :(得分:3)

仅从版本14开始支持Lambda表达式的评估。

取自What's New in IntelliJ IDEA 14 page

enter image description here