Java中利用Interpreter动态编译实现eval
在很多脚本语言中都有eval函数,它可以把字符串转换成表达式并执行。
如在javascript中:
var str = “1+1*3+5”;
alert(eval(str));
则会弹框输出 9
那么在java中,如何实现这个功能呢?其实我们可以用动态编译来实现:
首先要到http://www.beanshell.org/download.html
官网去下载BeanShell的一个jar包,如bsh-2.0b4.jar,然后在项目中引入。
测试代码如下&#