将字符串转换为数学对象

时间:2012-11-05 19:24:57

标签: java string

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

[int, String, int]

字符串是“<”,“>”,“=”,“< =”,“> =”。

有没有办法实现一个方法,可以帮助我比较两个整数而不是多个if语句的字符串比较参数?

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

感谢。

1 个答案:

答案 0 :(得分: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 . . .
}

有很多方法可以对此有所了解(例如,使用Map<String, Callable<Boolean>>),但对于您所描述的内容似乎并不值得。

或者(正如CM Kanode和screppedcola在他们的评论中所建议的那样)你可以使用ScriptEngine将表达式评估为JavaScript,但这看起来也有点过分。