腳本可以通過完全合格的名稱直接訪問任何Java類如
var Vector = Java.type("java.util.Vector");
// or equivalently:
var Vector = java.util.Vector;
// Java.type is better as it throws exception if class is not found
如果您不希望腳本直接引用您的Java類或者你想提供一個不同的名稱,你可以這樣做:
import javax.script.*;
public class Main {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine e = m.getEngineByName("nashorn");
// eval "java.util.Vector" to get "type" object and then
// assign that to a global variable.
e.put("Vec", e.eval("java.util.Vector"));
// Script can now use "Vec" as though it is a script constructor
System.out.println(e.eval("v = new Vec(); v.add('hello'); v"));
}
}
希望這會有所幫助!
謝謝! @一個。 Sundararajan – PiDEV