Я бы рекомендовал использовать метод «помощник», который возвращает логический результат, так что оператор будет выглядеть примерно так
String abc = "a>10";
if(stringToConditional("a>b"))
{
//TO SOME TASK
}
private boolean stringToConditional(String str)
{
//code here
}
Оттуда, метод «помощник» может разделить строку на три части, используя регулярное выражение. Полезный, abet плотный, учебник можно найти here. Оттуда a и b могут быть проанализированы с использованием методов JSE. Это выглядит примерно так:
String a = "1.21";
double a1 = Double.parseDouble(a); //a1 is now equal to 1.21
Оттуда, следующий шаг будет сравнить условную строку («>», «< =», «==» и т.д.), список известных операторов , а затем тестирование операции и возвращение результата в качестве логического возврата метода. Например:
String operator = ">=";
if (operator.equals(">="))
{
return a1>=b1;
}
...
Надеюсь, я не был слишком неясным или не знаком. Я был бы рад разработать, уточнить или упростить. Удачи!
http://stackoverflow.com/questions/2605032/using-eval-in-java – Zutty
Можно создать дубликат: http://stackoverflow.com/questions/10917878/evaluate-string-as-a-condition-java Удачи! – drtf
, но javax.script.ScriptEngine и javax.script.ScriptEngineManager недоступны в android. – AndroidDev