String s = "100>10&&20<30";如何能把s放入if语句  变成:
 
if(100>10&&20<30){}

解决方案 »

  1.   


    String s="100>10&&20<30";
           boolean b=Boolean.valueOf(s);
    if(b){
       //heihei !
    }
      

  2.   

    里面的判断必须是布尔类型的,你拿string类型放进去当然不行了,转换成boolean就好了
      

  3.   


    import java.lang.Boolean;
    public class Drink {
    public static void main(String[] args){
    String s = "100>10&&20<30";
    boolean b = Boolean.getBoolean(s);
    System.out.println(b);
    }
    }
      

  4.   

    需要引用第三方包:
    https://eval.dev.java.net/import net.java.dev.eval.Expression;
    String s="100>10&&20<30";
    Expression exp = new Expression(s);
    System.out.println(exp.eval());
      

  5.   

    String s="100>10&&20<30";
        boolean b=Boolean.valueOf(s);
        System.out.println(b);
    if(b){
    //
    }
    String s="100>10&&20<30";
        boolean b=Boolean.getBoolean(s);
        System.out.println(b);
    if(b){
    //输出
    }
      

  6.   

    可以引入bsh包
    http://www.beanshell.org
    import bsh.EvalError;
    import bsh.Interpreter;public class Test {
    public static void main(String args[]) {
    String s = "100>10&&20<30";
    try {
    Interpreter i = new Interpreter();
    Object result = i.eval(s);
    if ((Boolean) result) {
    System.out.println("abc");
    }
    } catch (EvalError e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }
      

  7.   


    Boolean.getBoolean(s) 不是这么个用法吧,应该是系统如果存在名为s的属性,返回true,否则返回false。
      

  8.   

    Boolean.valueOf(s);这招不行,我已经试验了。只有当s不空而且s=true(不分大小写)时才返回TRUE。