最近遇到一个需求,将形如:
String str = "value>8 || (value <= 5 && value > 1)";
这种字符串算术表达式进行true或false的判断,通过 ScriptEngineManager 类成功解决这个问题。
方法:
String str = "value>8 || (value <= 5 && value > 1)";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
engine.put("value", 10);
Object result = engine.eval(str);
System.out.println("计算结果:" + result);
结果:
版权声明:本文为qq_36608921原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。