import java.util.function.Function;
import javax.script.*;
public class ScriptFunction {
public static void main(String[] args) {
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
//在Nashorn的JavaScript函数概念和Java的Function接口之间创建一个适配器
String format = String.format("new java.util.function.Function(%s)", "function(x) 3 * x + 1");
System.out.println(format);
try {
Function f = (Function) engine.eval(format);
for (int i = 1; i < 5; i++) {
System.out.println(f.apply(i));
}
} catch (Exception ignore) {
}
}
}
java中执行js,构造lambda
于 2022-03-02 22:18:56 首次发布