你可以将其传递给
BeanShell bsh.Interpreter,如下所示:
Interpreter interpreter = new Interpreter();interpreter.eval("result = 5+4*(7-15)");System.out.println(interpreter.get("result"));
你将要确保评估的字符串来自受信任的来源,并采取通常的预防措施,否则,它将立即起作用。
如果你想采用更复杂(但更安全)的方法,则可以使用ANTLR(我怀疑这是一个数学语法的起点),然后实际自己编译/解释该语句。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)