MVEL2表达式中'unexpected operator !'报错解决方法
MVEL2表达式中'unexpected operator !'报错解决方法
在使用MVEL2表达式时,如果在表达式开头直接使用'!'操作符表示逻辑非,会导致'unexpected operator !'报错。这是因为MVEL2语法规定,'!'操作符不能直接用于表达式开头。
解决方法:
将'!'操作符移动到表达式中的其他位置,例如:
-
放在方法调用的外部:
java !['a', 'b'].containsAll(array) -
先将方法调用结果赋值给变量,再对变量使用'!'操作符:
java containsAllResult = ['a', 'b'].containsAll(array) !containsAllResult
示例:
假设你需要判断列表['a', 'b']是否不包含数组array中的所有元素,可以使用以下代码:javaList array = Arrays.asList('b', 'c');
// 方法一:将'!'放在方法调用的外部boolean result1 = !['a', 'b'].containsAll(array);
// 方法二:先将方法调用结果赋值给变量,再对变量使用'!'操作符boolean containsAllResult = ['a', 'b'].containsAll(array);boolean result2 = !containsAllResult;
System.out.println(result1); // 输出:trueSystem.out.println(result2); // 输出:tr
原文地址: https://www.cveoy.top/t/topic/fLgR 著作权归作者所有。请勿转载和采集!