Aviator-Java轻量级高性能Java表达式求值
AviatorScript 文档 https://www.yuque.com/boyan-avfmj/aviatorscript/ashevw
Aviator是一款Java语言编写的轻量级高性能Java表达式求值库,支持java基本类型、字符串、日期、集合、数组等类型的表达式求值运算。
首先,需要在项目的pom.xml文件中添加相关依赖:
<dependency>
<groupId>com.googlecode.aviator</groupId>
<artifactId>aviator</artifactId>
<version>5.0.0</version>
</dependency>
然后,在Java代码中使用Aviator:
import com.googlecode.aviator.AviatorEvaluator;
public class Example {
public static void main(String[] args) {
// 定义表达式
String expression = "a > 0 && b < 10 && c == true";
// 编译表达式
com.googlecode.aviator.Expression compiledExp = AviatorEvaluator.compile(expression);
// 准备参数
java.util.Map<String, Object> env = new java.util.HashMap<String, Object>();
env.put("a", 5);
env.put("b", 8);
env.put("c", true);
// 执行表达式
Boolean result = (Boolean) compiledExp.execute(env);
// 输出结果
System.out.println("result=" + result);
}
}
在上述代码中,首先定义表达式字符串,然后使用AviatorEvaluator的compile()方法编译表达式,将表达式编译成可执行的对象。接着,准备参数并执行表达式,最后输出结果。