在Intellij的Kotlin回调中断点没有被击中

在下面的代码中,我在println("yoyo")的那一行放了一个断点,但是没有被打到。 这是在2016年10月14日建立的IntelliJ IDEA 2016.2.5 Build#IC-162.2228.15。我该如何解决这个问题?

 class XxxTest { @Test fun xxx(){ object : dummyInterface{ override fun bbb() { println("yoyo") } } } interface dummyInterface{ fun bbb() } } 

您的函数xxx使用Object Expression来创建一个从dummyInterface继承的匿名类的对象。 问题在于你没有在任何地方使用这个对象,也没有存储它的引用,所以它只是被创建,并没有被调用。

要调试停止在断点处,您必须实际调用该方法。

 val obj = object : dummyInterface { override fun bbb() { println("yoyo") } } obj.bbb() 
Interesting Posts