在实际的开发中有些时候需要计算字符串表示的布尔表达式的值,如下面的情况
String hh="3>5 && 7< 8";
而这个时候我们要获得上诉表达式表示的布尔表达式为真或者假。
在网上找了一下,其中有一个开源的ognl包可以实现这个功能。官网是www.ognl.org(现在好像打不开)
具体的代码片段为
String myCondition="3>5 && 8<6";
Boolean con = (Boolean)Ognl.getValue(myCondition, (Object)null,Boolean.class);
我的应用是在字符串中写入一个变量,然后替换变量的内容生成新的表达式,如 start> 5 && end < 6。然后替换start和end来计算boolean值