当开发中应为业务需求某些表达式或者计算式为一个字符串类型式,避免开发者重新写表达式解析,JavaScript提供了针对字符串类型的运算式的解析;
public static void main(String[] args) {
try {
String str = "2>1 && 'a' == 'a'";
ScriptEngineManager scriptEngine = new ScriptEngineManager(null);
ScriptEngine javaScript = scriptEngine.getEngineByName("JavaScript");
boolean bool = Boolean.parseBoolean(javaScript.eval(str).toString());
System.out.println(bool); //输出true
String intStr = "(5 + 5 * 2 ) / 5";
int i = Integer.parseUnsignedInt(javaScript.eval(intStr).toString());
System.out.println(i); //输出3 (Integer类型结果只能是整数)
} catch (ScriptException e) {
e.printStackTrace();
}
}