Java 实现 JS的eval函数

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

 

posted @ 2017-07-05 11:21  hahahahahahahaha  阅读(3952)  评论(0编辑  收藏  举报