IntelliJ - 没有这样的实例方法

Kev*_*ith 3 java scala intellij-idea

使用IntelliJ的12 Ultimate,我在调试器中运行以下代码:

Java的

import play.api.libs.json.JsValue;
public class Foo { 
 ...
 public JsValue toJson() { ... }

public class FooExample {
...
  Foo foo = new Foo(); 
  System.out.println("...); //<-- breakpoint
Run Code Online (Sandbox Code Playgroud)

在断点处,我右键单击我的源代码并选择"评估表达式",输入:

foo.toJson().

但出现以下错误:

No such instance method: play.api.libs.json.JsValue$class.com.foo.Foo.toJson ()

难道我做错了什么?Foo#toJson调用Scala代码,如果重要的话.

编辑我实际上在实例化之后有了断点.Foo.对于那些投票的人,我当之无愧.

Jav*_*aru 6

编辑

OP修改后的问题(即移动到断点实际位置)后,我的答案不再有效.

在执行该行之前会遇到断点.所以在这种情况下foo尚未声明或实例化(即Foo尚未调用构造函数).如果要进行评估,则需要将断点放在下一行(或跨越当前行)foo.