JS的eval 函数, 给个表达式做参数, 返回表达式的值。
Java的脚本引擎可以实现这个功能。
例子:
拼接一个字符串 \uxxxx, Unicode的十六进制编码, 然后把它打印出来。 即输入一个'\u5236' 字符串, 然后输出一个中文Unicode字符“制”。
package test; import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException; public class ScriptEngineDemo {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine se = manager.getEngineByName("js");
String str = "\'\u5236\'"; // 传 "\u5236", JS是认不出来的。 传"\'u5236\'"
String result = (String) se.eval(str);
System.out.println(result);
}
}