java工具:《Java动态执行字符串表达式:ScriptEngine使用指南》

发布时间:2026/7/4 12:58:49

java工具:《Java动态执行字符串表达式:ScriptEngine使用指南》 文章目录一、介绍功能说明实现原理使用示例二、代码一、介绍该方法针对逻辑与“” 和逻辑或“||” 也有效对单个 “” 或者“|” 执行结果无效不过不影响真实结果。功能说明这是一个动态脚本执行工具方法用于将字符串作为JavaScript代码执行并返回布尔值结果。方法接收一个字符串参数将其作为JavaScript表达式进行解析和执行最后将执行结果转换为Boolean类型返回。实现原理创建脚本引擎管理器ScriptEngineManager 是Java中管理脚本引擎的入口类获取JavaScript引擎通过 getEngineByName(“js”) 获取NashornJava 8或Rhino早期版本JavaScript引擎执行脚本使用 eval(str) 方法将字符串作为JavaScript代码执行结果转换将执行结果转换为字符串再通过 Boolean.parseBoolean() 转换为Boolean类型使用示例// 简单的布尔表达式Booleanresult1executeStringReturnBoolean(2 1);System.out.println(result1);// trueBooleanresult2executeStringReturnBoolean(5 3);System.out.println(result2);// falseBooleanresult3executeStringReturnBoolean(true false);System.out.println(result3);// false二、代码!--js脚本解析字符串返回boolean值--dependencygroupIdorg.apache.commons/groupIdartifactIdcommons-jexl3/artifactIdversion3.1/version/dependency执行字符串返回boolean结果↓/** * 执行字符串返回boolean结果 * param str 要执行的字符串 * return 执行结果 * throws ScriptException 抛异常 * 注意缺陷单独和|也会识别不过是错误答案没参考性 **/publicstaticBooleanexecuteStringReturnBoolean(Stringstr){ScriptEngineManagermanagernewScriptEngineManager();// 得到javascript脚本引擎ScriptEnginesemanager.getEngineByName(js);Booleanresultfalse;try{// 开始运行脚本 -》 我们可以使用ScriptEngine的eval方法来执行脚本resultBoolean.parseBoolean(se.eval(str).toString());}catch(ScriptExceptione){log.error(e.getMessage());}returnresult;}

相关新闻