我不知道这是否可行。我的情况是输入看起来像这样:
[int, String, int]
字符串是“<”,“>”,“=”,“< =”,“> =”。
有没有办法实现一个方法,可以帮助我比较两个整数而不是多个if语句的字符串比较参数?
我希望我已经解释得很好。
感谢。
答案 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,但这看起来也有点过分。