0

我不知道这是否可能。我处于输入看起来像这样的情况:

[int, String, int]

其中字符串为“<”、“>”、“=”、“<=”、“>=”。

有没有办法实现一种方法,可以帮助我在没有多个 if 语句的情况下比较两个整数的字符串比较参数?

我希望我已经解释得很好。

谢谢。

4

1 回答 1

3

没有办法像 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但这似乎也有点矫枉过正。

于 2012-11-05T19:27:28.970 回答