Expression Evaluator 用于动态执行 Java 表达式。
满百包邮,当 amount
值小于 100 块邮费 10 块,当 amount
值大于等于 100 块免邮:
IExpressionEvaluator ee = CompilerFactoryFactory.getDefaultCompilerFactory().newExpressionEvaluator(); // ① ee.setParameters(new String[]{"amount"}, new Class[]{double.class}); // ② ee.setExpressionType(double.class); // ③ ee.cook("amount >= 100.0 ? 0.0 : 10.0"); // ④ ee.evaluate(new Object[]{amount} // ⑤
① 使用工厂模式创建默认的 Expression Evaluator 实例;
② 设置参数名和参数类型;
③ 设置返回值类型;
④ 编译 Java 表达式;
⑤ 执行 Java 表达式。