gpt4 book ai didi

java - Nashorn 将 java 对象传递给另一个 java 方法

转载 作者:行者123 更新时间:2023-12-01 09:46:48 32 4
gpt4 key购买 nike

如何通过 nashorn 将对象作为参数传递给另一个 java 方法。

(例如)

Class DummyClass{
void method1(TestClass c){
Sout("In DummyClass method1");
}
}

Class B{
void method(){
TestClass obj = new TestClass();
StringBuilder buffer = new StringBuilder();
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("nashorn");
String className = DummyClass.class.getCanonicalName();
buffer.append("var JavaClass = Java.type(\"" + className + "\");");
buffer.append("JavaClass.method1(//HOW can i pass the obj here);");
engine.eval(buffer.toString());
}
}

最佳答案

您可以使用 ScriptEngine.put 方法将 Java 代码中的“obj”变量公开为脚本的全局变量 [在评估脚本的其余部分之前]

engine.put("obj", obj);

关于java - Nashorn 将 java 对象传递给另一个 java 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37937278/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com