Aviator
Aviator a lightweight, high performance expression evaluator for java.
Aviator compiles expression to byte code and evaluate it on the fly.
快速入门
Jar 依赖
<dependency>
<groupId>com.googlecode.aviator</groupId>
<artifactId>aviator</artifactId>
<version>3.3.0</version>
</dependency>
HelloAviator.java
import com.googlecode.aviator.AviatorEvaluator;
import java.util.HashMap;
import java.util.Map;
public class HelloAviator {
public static void main(String[] args) {
int[] a = {1, 2, 3, 4, 5};
Map<String, Object> env = new HashMap<>(1);
env.put("a", a);
AviatorEvaluator.execute("1 + 2 + 3");
AviatorEvaluator.execute("a[1] + 100", env);
AviatorEvaluator.execute("'a[1]=' + a[1]", env);
//求数组长度
AviatorEvaluator.execute("count(a)", env);
//求数组总和
AviatorEvaluator.execute("reduce(a, +, 0)", env);
//检测数组每个元素都在 0 <= e < 10 之间。
AviatorEvaluator.execute("seq.every(a, seq.and(seq.ge(0), seq.lt(10)))", env);
}
}
用途
java 表达式引擎。可以用来动态解析 java 脚本。