AviatorEvaluator.EVAL还是AviatorEvaluator.COMPILE?
AviatorEvaluator 提供了两种主要的方法来执行 Aviator 表达式:AviatorEvaluator.EVAL 和 AviatorEvaluator.COMPILE。它们有不同的用途:
-
AviatorEvaluator.EVAL:
-
这个方法用于直接执行 Aviator 表达式,并返回表达式的计算结果。
-
适用于一次性的简单表达式计算,不需要多次执行相同的表达式。
-
示例代码:
-
String expression = "1 + 2 * 3"; Object result = AviatorEvaluator.execute(expression);
-
-
AviatorEvaluator.COMPILE:
-
这个方法用于将 Aviator 表达式编译成可重复执行的表达式对象,以提高性能。
-
适用于需要多次执行相同表达式的情况,例如在循环中多次计算相同的表达式。
-
示例代码:
-
String expression = "1 + 2 * 3"; Expression compiledExpression = AviatorEvaluator.compile(expression); // 在需要计算的地方多次执行编译后的表达式 Object result1 = compiledExpression.execute(); Object result2 = compiledExpression.execute();
-
总之,如果您只需要执行一个简单的 Aviator 表达式一次,可以使用 AviatorEvaluator.EVAL 方法。但如果您需要多次执行相同的表达式以提高性能,可以首先使用 AviatorEvaluator.COMPILE 方法将表达式编译成可执行对象,然后在需要时多次执行编译后的对象。这将减少表达式的解析和编译开销。
-