如何比较流口水中的两个十六进制值

How to compare two hex values in drools

我需要比较 drools 中的两个十六进制值。

例如:比较 0xbadf00d0xbadf00e

这应该会导致错误,因为 de 不匹配。 所以我的问题是,是否可以将十六进制视为字符串值并进行相同的比较,或者有其他方法。

我试过谷歌搜索但没有用。

使用 ASCII 时,digits and letters of an HEX 的自然顺序是升序。这使得将这些值作为字符串进行比较变得微不足道(假设它们用 0 左填充并使用相同的大小写)。

例如,如果您有一个 Input class 和 hex 类型的 String 属性,您可以这样写:

rule "Test"
when
    $i1: Input()
    $i2: Input(hex > $i1.hex)
then
    //Do whatever you need here
end

希望对您有所帮助,