Java实现JS eval() 函数 (表达式求值)

定义和用法

eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。

语法

eval(string)

该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。

示例

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public class Main5501 {
    public static void main(String[] args) throws ScriptException {
        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine se = manager.getEngineByName("js");

        String s1 = "2 + 5 * 6 * ( 6 - 2 )";
        String s2 = "13 > 14 && 15 < 20";

        Integer result1 = (Integer) se.eval(s1);
        Boolean result2 = (Boolean) se.eval(s2);
        System.out.println(result1);
        System.out.println(result2);

    }
}
posted @ 2021-03-30 10:46  笨鸟贤妃  阅读(487)  评论(0)    收藏  举报