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);
}
}