pom.xml
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl3</artifactId>
<version>3.1</version>
</dependency>
</dependencies>
样例:
public static void main(String[] args) {
// 添加参与计算元素值
Map<String,Object> map = new HashMap<>();
map.put("price",123);
map.put("amount",9);
// 自定义表达式
String eval = "price > 100 ? price * (amount + 1) : price * 0";
JexlExpression expression = new Engine().createExpression(eval);
JexlContext context = new MapContext();
map.forEach(context::set);
// 计算表达式
Object evaluate = expression.evaluate(context);
System.out.println("evaluate = "+evaluate.toString());
// evaluate = 1230
}