我有一个字符串“a>b”,我想转换成一个普通的条件表达式。如何在Android中做到这一点意味着只使用 JSE。
String abc = "a>10";
if(abc){
// TO SOME TASK
}
任何帮助将不胜感激。
我有一个字符串“a>b”,我想转换成一个普通的条件表达式。如何在Android中做到这一点意味着只使用 JSE。
String abc = "a>10";
if(abc){
// TO SOME TASK
}
任何帮助将不胜感激。
我建议使用返回布尔结果的“助手”方法,因此语句看起来像这样
String abc = "a>10";
if(stringToConditional("a>b"))
{
//TO SOME TASK
}
private boolean stringToConditional(String str)
{
//code here
}
从那里,“助手”方法可以使用正则表达式将字符串分成三个部分。可以在此处找到有用的、教唆密集的教程。从那里,可以使用 JSE 方法解析 a 和 b。它看起来像这样:
String a = "1.21";
double a1 = Double.parseDouble(a); //a1 is now equal to 1.21
从那里开始,下一步是将条件字符串(“>”、“<=”、“==”等)与已知运算符列表进行比较,然后测试操作并将结果作为方法返回布尔返回。例如:
String operator = ">=";
if (operator.equals(">="))
{
return a1>=b1;
}
...
希望我不是太不清楚或离题。我很乐意详细说明、澄清或简化。祝你好运!
在 Java 中,我们可以使用javaScriptEngine API:
String condExptn="34>5&&78<90";
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
result = engine.eval(condExptn.toString().trim());