public static void main(String[] args) {
int a = 1;
int b = 2;
String str = "a-b<0";
if(a-b<0){
System.out.println("******");
}
}如题,如何将
if(a-b<0){替换成类似if(str){来作为判断?提出思路也可以的,谢谢
解决方案 »
- java单表维护如何实现逻辑删除啊?新手求帮忙!
- activeMQ的性能
- 关于全国计算机软考的问题,有考过的大哥大姐们赐教下啊!!!分数多多
- 请问一个sql表连接的问题
- java 做OA系统 9我
- 关于org.hibernate.HibernateException: No TransactionManagerLookup specified
- 在jboss下发布两个WEB服务,这两个WEB服务中有相同的类,如何避免冲突?
- 高分,weblogic连接池小问题
- 高分求助!我在部署EJB出现以下错误,请高手指点!
- ResultSet对象出现的问题~
- SSH怎么整合?Struts+Hibernate+Spring那些版本兼容?
- java bean连接MySQL数据库的问题
就算是要求str="2-1"都相当麻烦
用apache的JexlEngine
http://blog.csdn.net/xuhuanchao/article/details/5536208
boolean str=(a-b<0)?true:false;更方便的就是直接使用计算结果来判断。能解决问题就行了,干嘛非要整得那么让人不可思议呢。一家之言,楼主莫怪啊
JEXL 引擎可以计算String中的表达式
另外,若是jdk1.6的话,可以直接使用ScriptEngineManager用js的eval进行计算
然后感谢2楼,JEXL是正解。因为JAVA属于编译后执行语言,所以必须从框架上想办法,或则考虑反射。另EVAL我尝试了一下,貌似是解决四则运算,这样的话,我使用逆波兰表达式已经解决了,谢谢。另外5楼,我替你的语文老师感到悲哀,看不懂的情况下轻易的下达了结论,而且对提问者毫无帮助,你何必打这几个字自取其辱呢。