作者:彣彧 wenyu7980@163.com
注意
该库所有数字类型都是BigDecimal
操作数 操作符 操作数 ;
- 四则运算
- 比较运算
- 逻辑运算
- 三元运算
- 获取上下文中的属性值
- 执行上下文中的方法
运算符 | 运算符意义 | 示例 |
---|---|---|
+ | 加 | ExpressionLanguages.parse(“1+1;”,BigDecimal.class); |
- | 减 | ExpressionLanguages.parse(“1-1;”,BigDecimal.class); |
* | 乘 | ExpressionLanguages.parse(“1*1;”,BigDecimal.class); |
/ | 除 | ExpressionLanguages.parse(“1/1;”,BigDecimal.class); |
运算符 | 运算符意义 | 示例 |
---|---|---|
< | 小于 | ExpressionLanguages.parse(“1<1;”,Boolean.class); |
<= | 小于等于 | ExpressionLanguages.parse(“1<=1;”,Boolean.class); |
> | 大于 | ExpressionLanguages.parse(“1>0;”,Boolean.class); |
>= | 大于等于 | ExpressionLanguages.parse(“1>=1;”,Boolean.class); |
<> | 不等于 | ExpressionLanguages.parse(“1<>0;”,Boolean.class); |
== | 等于 | ExpressionLanguages.parse(“1==0;”,Boolean.class); |
运算符 | 运算符意义 | 示例 |
---|---|---|
&& | 与 | ExpressionLanguages.parse(“1==0 && 1==0;”,Boolean.class); |
|| | 或 | ExpressionLanguages.parse(“1==0 || 1==0;”,Boolean.class); |
! | 非 | ExpressionLanguages.parse(“!1==0”,Boolean.class); |
logic? left : right
例
ExpressionLanguages.parse(“1==0?2:3”,BigDecimal.class);
需要设定上下文
例
public class Data {
private String text;
}
ExpressionLanguages.parse("$.text;",new ElContext().addContext("$",new Data()),String.class);
需要设定上下文
例
public class Data {
public String f(){
return "text";
}
}
ExpressionLanguages.parse("$.f();",new ElContext().addContext("$",new Data()),String.class);
优先级由高到低
运算符 |
---|
. |
*/ |
+- |
> >= < <= <> == |
&& |
|| |
! |
?: |