无法调试Lambda Expression IntelliJ Ultimate 2018.1

时间:2019-06-19 10:33:11

标签: java debugging intellij-idea lambda java-8

我正在Debug模式下运行Junit测试用例,它在正常方法调用下可以正常工作。当我尝试调试lambda表达式时,控件不会进入内部。

我尝试安装Java Stream Debugger,但是对IntelliJ Ultimate 2018.1 IDE的支持尚未扩展

public TestLambda lambdaExpression() {
        int width=10;
        TestLambda d2;
        //with lambda
        return d2=()->{
            System.out.println("Drawing "+width);
            System.out.println("Drawing1 "+width);
            System.out.println("Drawing2 "+width);
        };
    }

我希望调试器指向每个sysout语句。我可以使用Eclipse调试相同的表达式。

1 个答案:

答案 0 :(得分:0)

根据评论,我更新了代码,效果很好。我的实际问题与通过spring进行Bean初始化有关,因此未在Config文件中编写任何执行。因此,调试器不会进入内部。

更新代码:

public void lambdaExpression() {
        int width=10;
        //with lambda
        TestLambda d2=()->{
            System.out.println("Drawing "+width);
            System.out.println("Drawing "+width);
            System.out.println("Drawing "+width);
        };

        d2.draw();
    }