如题
例如:String str = "(a >= 0 && a <= 5)";
如今知道a的值,怎么知道a是否符合str这个字符串,我知道能够截字符串,可是真正的业务逻辑串很麻烦,java
正确答案:spa
import javax.script.*; public class TestScript { public static void main(String[] args) throws Exception { String str = "(a >= 0 && a <= 5)"; ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("js"); engine.put("a",4); Object result = engine.eval(str); System.out.println("结果类型:" + result.getClass().getName() + ",计算结果:" + result); } }
jdk1.6中能够直接这样用
jdk1.5中须要如下jar:commons-logging-1.1.1.jar , js.jar, bsf-all-3.0.jarcode