JSEL是一个基于逆波兰式结构,采用JS运算规则的简单的表达式解释引擎。 同时它还是一个JSON解析引擎。
import org.xidea.el.Expression; import org.xidea.el.ExpressionImpl; import java.util.HashMap; public class Test{ public static void main(String[] args){ Expression el = new ExpressionImpl("var1 +2 * var2"); //Expression el = new ExpressionImpl("var1 +2 * var2",new CalculaterImpl());//你也可以定义你自己的运算规则 HashMap context = new HashMap(); context.put("var1",111); context.put("var2",222); Object result1 = el.evaluate(context);//555 context.put("var2",333); Object result2 = el.evaluate(context);//777 System.out.println("result1:"); System.out.println(result1); System.out.println("result2:"); System.out.println(result2); } }