我有一个像这样的Groovy类:
package com.hello
class MyClass {
def myMethod() { println "hello" }
}
我想在Java类中使用这个类:
package com.hello
public class OtherClass {
MyClass myc;
public void myOtherMethod {
myc.myMethod(); // <-- Raises NullPointerException
}
}
当我运行此代码时,它会抛出NullPointerException
,因为myc
为空。当我尝试这个时:
...
MyClass myc = new MyClass();
public void myOtherMethod {
myc.myMethod(); // <-- Raises NullPointerException
}
...
我仍然得到NullPointerException
。如何在我的java类中使用这个groovy类?
答案 0 :(得分:0)
package com.hello
public class OtherClass
{
MyClass myc=new MyClass();
public void myOtherMethod() {
myc.myMethod();
}
}
在OtherClass是Java的情况下,无论MyClass是groovy还是Java,都应该可以正常工作。
如果您仍然在调用myMethod()时使用此代码获取NPE,那么您遇到了构建问题。请尝试以下操作:
不处理构建问题(或推迟处理它们)的最简单方法是使用Groovy插件在eclipse中编码并直接从Eclipse运行,这应该始终有效。