java动态执行字符串表达式

环境:idea+jdk1.8

直接使用groovy引擎:

public static void main(String args[]) {
        ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
        ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("groovy");
        Bindings bindings =  scriptEngine.createBindings();
        long start = System.currentTimeMillis();
        for(int status = 1 ; status < 1000; status++){
            scriptEngine.put("status",status);
            String expression = "status = 2 ? '1' : 0;";
            try {
                Object oj = scriptEngine.eval(expression);
                System.out.println(oj);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        System.out.println(System.currentTimeMillis() - start);
    }

提示:NullPointerException

解决方案:

idea安装groovy插件,引入

性能对比:

js  vs    groovy

:

发布了18 篇原创文章 · 获赞 6 · 访问量 9302

猜你喜欢

转载自blog.csdn.net/lijiaheng525/article/details/103944364