Друзей,Java - Динамическое сравнение с примитивными типами данных
Обращается рамкой для проверки ...
У нас есть конфигурационный файл, как показано ниже ...
<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>
Я получаю XML-значение с помощью XPath и преобразовать его в плыву <valueType>
значения элемента ...
Нет, у меня есть value="0"
также были преобразованы в поплавок.
Теперь мне нужно применить условие, указанное как condition=">"
.
Я не хочу этого делать, ЕСЛИ ELSEIF .... ELSE.
Есть ли другой способ конвертировать «<» оператору <
или использовать оператор сравнения на Строке?
Таким образом, мой код будет простым и полезным для будущих операторов.
================================================================================================================================= ===============================
Спасибо всем за предложения и ответы ...
I решили использовать команду bsh.Interpreter BeanShell. Это делает работу для меня ...
пример кода для всех вас ...
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"));
вернула меня истина/ложь.
Спасибо & Успехов ...
Вам не нужно использовать цепочку 'if-then-else', вы можете использовать хэш-карту. Но нет ярлыков, чтобы делать это динамически, так что вам нужно много кодирования. – dasblinkenlight
Вам нужно «<=»? (Или любые другие операторы с более чем одним символом) –
Посмотрите также на этот вопрос: http://stackoverflow.com/questions/1432245/java-parse-a-mathematics-expression-given-as-a -string-and-return-a-number, а также этот: http://stackoverflow.com/questions/3832323/java-string-and-mathematics-expression-evaluators –