0
我正在使用Groovy腳本和Java,我對這個主題很陌生。 我想從groovy腳本創建一個java類(A)的多個實例,並將它們傳遞給列表,然後將此列表傳遞給一個新類(B)。使用Groovy腳本創建java類的實例
我乙的java文件是:
public class B {
public void getValues(List<A> values) {...}
}
我的Java文件是:
public class A {
public long num;
public A(long num){
this.num = num;
}
}
我主要的java文件是:
GroovyScriptEngine groovyScriptEngine = new GroovyScriptEngine(/*path to file.groovy*/);
Binding binding = new Binding();
binding.setVariable("b", new B());
groovyScriptEngine.run("file.groovy", binding);
我file.groovy是:
def myList = []
myList.add(new A(1))
myList.add(new A(2))
myList.add(new A(3))
b.getValues(myList)
我不斷收到當我運行我的應用程序 異常螺紋這個異常「主要」 groovy.lang.MissingPropertyException:沒有這樣的特性:一類:文件
當我增加了對Java常規初始化 binding.setVariable(「a」,new A());
我收到列表中的3個對象A,但它們都包含num中的值3(可能列表中的所有3個對象都是同一個對象)。
感謝我能解決這個問題的所有幫助。
進口the.path.to.my.classes.A; //在一個側面說明中,你應該重命名你的函數「getValues」爲「setValues」,但我只能假設沒有 – Wietlol
的實現感謝你的幫助,getValues只是爲了這個例子,但你是對的 –