Aviator 表达式引擎 默认的逻辑运算符是&&和||。想使用 and 和 or 首先需要升级到 5.3.1 以上。
目前仅支持 AND 和 OR 操作符。设置别名后,原始的操作符仍然继续可用。
官网示例
package com.googlecode.aviator.example;
import com.googlecode.aviator.AviatorEvaluator;
import com.googlecode.aviator.lexer.token.OperatorType;
public class AliasOperatorExample {
public static void main(final String[] args) {
AviatorEvaluator.getInstance().aliasOperator(OperatorType.AND, "and");
AviatorEvaluator.getInstance().aliasOperator(OperatorType.OR, "or");
System.out.println(AviatorEvaluator.execute("1==1 and 2==3"));
System.out.println(AviatorEvaluator.execute("true or false"));
System.out.println(AviatorEvaluator.execute("true && 1==1 or false"));
}
}