背景
具体方案
轮子方案
所谓轮子方案就是自己写一个解析表达式的方法,这种代码一搜一大堆,我就不贴代码了。
这里就给一个靠谱点实现的连接。
https://www.jianshu.com/p/682e8e8d3dfb
缺点:【复杂计算,幂函数】
JS方案
通过在Java中调用JS的模块来实现表达式的解析和计算。
ScriptEngineManager manager = new ScriptEngineManager();
// 得到javascript脚本引擎
ScriptEngine engine = manager.getEngineByName("javascript");
Double result=(Double)engine.eval("1+3+500/1e5");
缺点:高版本的openjdk不支持,好像是openjdk13,我可不想让oracle找麻烦,还是略过吧。
Groovy方案
通过在Java中调用gr