03.MVEL基本語法-布林表示式
阿新 • • 發佈:2019-01-30
MVEL可以用來表達一個布林表示式,比如user.name=='zhangsan' ,a<100 。
MVEL的布林表示式和JAVA一樣有優先順序,包括通過括號來控制執行順序。
MVEL布林表示式的操作符如下:
以下通過幾個例子示範布林表示式
操作符 | 說明 | 示例 |
== | 比較兩個值是否相等 與java的字串記憶體地址比較不一樣 |
‘foo’=='foo' |
!= | 不相等 | |
> | 大於 | |
< | 小於 | |
>= | ||
<= | ||
contains | 包含。如果左邊的字串包含右邊的字串內容,返回true | |
is/instanceof | 例項型別檢查,如果例項型別是右邊的型別,返回true | a = new Integer(1) a is Integer a instanceof Integer 返回true |
strsim | 字元相似性。 這個返回的資料,越相似值越接近1 |
"foo" strsim "foo" 返回1 |
sounds | 讀音相似性,相似的話返回true | ‘foobar’ soundslike ‘fubar’ |
~= | 正則表示式測試 | foo~='[a-z].+' |
大於 |
Map m = new HashMap();
m.put("a",
100);
Boolean obj = (Boolean) MVEL. eval("a>100", m);
if(obj){
System. out.println("a大於100" );
} |
讀音相似性 |
String composite = "'foobar' soundslike 'fubar'"; Object obj = MVEL. eval(composite); System. out.println(obj); |