簡體   English   中英

如何將Groovy類的實例分配給Java類中的變量

[英]How do I assign instance of Groovy class to variable in Java class

我有一個這樣的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
    }
}

當我運行此代碼時,由於myc為null,它將引發NullPointerException 當我嘗試這個:

...
MyClass myc = new MyClass();
public void myOtherMethod {
    myc.myMethod(); // <-- Raises NullPointerException
}
...

我仍然得到NullPointerException 如何在Java類中使用該groovy類?

    package com.hello

    public class OtherClass 
    {
         MyClass myc=new MyClass();

        public void myOtherMethod() {
            myc.myMethod();
        }
    }

無論MyClass是Groovy還是Java,Java在OtherClass哪里都應該可以正常工作。

如果仍然在調用myMethod()時獲得帶有此代碼的NPE,則說明存在構建問題。請嘗試以下操作:

  • 將常規代碼重新編譯成一個類
  • 將Java重新編譯為一個類,請確保您的groovy類當時可用於javac。
  • 如果使用Java運行,請確保groovy-all jar位於類路徑中(如果使用groovy運行,它將是自動的)

不處理(或推遲處理)構建問題的最簡單方法是使用Groovy插件在eclipse中進行編碼並直接從Eclipse運行,這應該總是可行的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM