RT!

解决方案 »

  1.   

    JDK 6 支持 eval的方法,是新的脚本语言特性。
      

  2.   


    1L的方法可行,jdk1.6
    js中的eval可以执行string的代码,也就是将一段字符串当作代码执行。
    同理java中的eval应该也行
      

  3.   


    俺不知道 学习咯LZ也可以尝试下果子大神推荐的beanshell或者自己生成个JAVA文件编译然后利用反射使用也是可以的
      

  4.   

    具体能说一下怎么用吗?比如:
    String str = "true&&true||(false||true)&&false";
    boolean bol = false;我怎样把str中的表达式的最终值赋值给bol呢?不管是在java类中写还是在javascript中写,我只要实现这个功能就行。谢谢各位大虾们唠~~~感谢
      

  5.   

    哦,我知道了!拿代码过来showshow~:
    import javax.script.ScriptEngine;
    import javax.script.ScriptEngineManager;
    import javax.script.ScriptException;javax.script.ScriptEngineManager sFactory = new javax.script.ScriptEngineManager();     
    javax.script.ScriptEngine engine = factory.getEngineByName("JavaScript");
    Boolean b_ret = null;
    String strs_ret = "true&&(true||false)";//例子
    try {
      b_ret = (Boolean)engine.eval("eval('"+strs_ret+"')");
    } catch (javax.script.ScriptException e) {
      e.printStackTrace();
    }
    return b_ret.booleanValue();//返回true
    -----------------------------------------
    感谢一楼二楼的朋友提醒!谢谢你们了,接分!