我需要比較drools
中的兩個十六進制值。如何比較drools中的兩個十六進制值
的如:與0xbadf00e
這比較0xbadf00d
應該導致錯誤的d
不e
匹配。 所以我的問題是,可以將hex作爲字符串值進行處理,並且可以進行相同的比較,或者有其他方法。
我試過谷歌搜索,但沒有用。
我需要比較drools
中的兩個十六進制值。如何比較drools中的兩個十六進制值
的如:與0xbadf00e
這比較0xbadf00d
應該導致錯誤的d
不e
匹配。 所以我的問題是,可以將hex作爲字符串值進行處理,並且可以進行相同的比較,或者有其他方法。
我試過谷歌搜索,但沒有用。
使用ASCII碼時,digits and letters of an HEX的自然順序是遞增的。這使得將這些值作爲字符串平凡(假設它們用0填充並使用相同大小寫)進行比較。
舉個例子,如果你有一個Input
類類型的hex
屬性String
你可以寫這樣的事情:
rule "Test"
when
$i1: Input()
$i2: Input(hex > $i1.hex)
then
//Do whatever you need here
end
希望它能幫助,
這是否意味着,在比較它們時,我可以使用'substring()','isuppercase()'等所有字符串函數? – piyushj
我建議你暫時忘記Drools,然後專注於比較Java中的值。一旦你測試了比較結果如預期的那樣,那麼你可以轉移到Drools。 –
什麼類型的,你目前正在使用您的模型來保存這些值? –
實際上,它是來自網頁的輸入,它將是一個json對象,並且可以轉換爲字符串或長數組。 – piyushj
關於你今天已經刪除的問題:*不需要發佈*完整的項目*。所有你需要的是足以重現問題的代碼。是的,這可能意味着*你的*方面多一點工作,而不僅僅是一些隨機行的複製 - 但不要指望我或其他人爲你做這項工作。 – laune