如何在java(Android)中将字符串转换为条件表达式?

如何在java(Android)中将字符串转换为条件表达式?,java,android,string,conditional-statements,Java,Android,String,Conditional Statements,我有一个字符串“a>b”,我想转换成一个普通的条件表达式。 在Android中如何做到这一点意味着只使用JSE String abc = "a>10"; if(abc){ // TO SOME TASK } 任何帮助都将不胜感激。我建议使用一个返回布尔结果的“helper”方法,因此该语句看起来像这样 String abc = "a>10"; if(stringToConditional("a>b")) { //TO SOME TASK } pr

我有一个字符串“a>b”,我想转换成一个普通的条件表达式。 在Android中如何做到这一点意味着只使用JSE

String abc = "a>10";
if(abc){
 // TO SOME TASK
}
任何帮助都将不胜感激。

我建议使用一个返回布尔结果的“helper”方法,因此该语句看起来像这样

String abc = "a>10";

if(stringToConditional("a>b"))
{
  //TO SOME TASK
}

private boolean stringToConditional(String str)
{
  //code here
}
从这里开始,“helper”方法可以使用regex将字符串分成三部分。可以找到一个有用的、教唆密集的教程。从那里,可以使用JSE方法解析a和b。它看起来像这样:

String a = "1.21";
double a1 = Double.parseDouble(a); //a1 is now equal to 1.21
从这里开始,下一步是比较Java中的条件字符串(“>”,“”,我们可以使用:


String condExptn=”34>5&&78但是javax.script.ScriptEngine和javax.script.ScriptEngineManager在android中不可用。您可以查看Parboiled来解析简单的布尔表达式。我认为不需要将JSE引入到图片中。我只需要使用正则表达式来获取特殊条件字符的索引。然后使用字符串[]parts=abc.split(specialChar)并编写条件代码,如if(specialChar=='>'){doSomething,其中包含[0]和[1]部分。}这是否回答了您的问题?
String operator = ">=";
if (operator.equals(">="))
{
  return a1>=b1;
}
...
String condExptn="34>5&&78<90";
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
result = engine.eval(condExptn.toString().trim());