朋友们,
我们正在编写一个验证框架......
我们确实有一个如下配置文件...
<root>
<property name="Premium">
<xmlTag>//Message/Request/Product/Benefit/Premium/amount</xmlTag>
<valueType>float</valueType>
<validation condition=">" value="0">Premium Amount cannot be less than Zero.</validation>
</property>
我使用 XPath 获取 XML 值并将其转换为按<valueType>
元素值浮动...
不,我确实value="0"
也被转换为浮动。
现在,我必须应用已指定为condition=">"
.
我不想在 IF ELSEIF....ELSE 循环上执行此操作。
有没有其他方法可以将“<”转换为运算符<
或在字符串上使用比较运算符?
这样一来,我的代码就简单了,对以后更多的运营商有用。
==================================================== ============================
谢谢大家的建议和回答...
我决定使用BeanShell的 bsh.Interpreter。它为我工作......
示例代码为大家...
System.out.println(new bsh.Interpreter().eval("1 < 0"));
System.out.println(new bsh.Interpreter().eval("1 > 0"));
System.out.println(new bsh.Interpreter().eval("1 >= 0"));
System.out.println(new bsh.Interpreter().eval("0 >= 0"));
System.out.println(new bsh.Interpreter().eval("1 != 0"));
System.out.println(new bsh.Interpreter().eval("0 != 0"));
System.out.println(new bsh.Interpreter().eval("1 == 0"));
System.out.println(new bsh.Interpreter().eval("0 == 0"));
返回我真/假。
谢谢&祝你好运...