我不知道这是否可能。我处于输入看起来像这样的情况:
[int, String, int]
其中字符串为“<”、“>”、“=”、“<=”、“>=”。
有没有办法实现一种方法,可以帮助我在没有多个 if 语句的情况下比较两个整数的字符串比较参数?
我希望我已经解释得很好。
谢谢。
没有办法像 Java 源代码中的运算符一样应用字符串。您将不得不测试每个字符串值并进行适当的测试。
public boolean eval(int arg1, String op, int arg2) {
if (op.equals("<")) {
return arg1 < arg2;
} else if (op.equals("<=")) {
return arg1 <= arg2;
} else . . .
}
有很多方法可以对此非常感兴趣(例如,使用 a Map<String, Callable<Boolean>>
),但是对于您所描述的内容似乎不值得。
或者(正如 CM Kanode 和 screppedcola 在他们的评论中所建议的那样)您可以使用 JavaScript 将表达式评估为 JavaScript,ScriptEngine
但这似乎也有点矫枉过正。