java - 将字符串评估为条件 Java

标签 java string parsing

我必须从 D/B 中检索一组列值并将其作为条件进行检查。

例如,我会有 "value > 2" 这样的字符串, "4 < value < 6"在 D/B 列中。 (值是一直比较的值)。我将在我的代码中声明一个变量值,我应该评估这个条件。

int value = getValue();
if (value > 2)  //(the string retrieved from the D/B)
  doSomething();

我该怎么做?任何帮助都非常感谢。谢谢。

最佳答案

这是一个使用标准 (Java 1.6+) 脚本库的示例:

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

public class Test {

    public static void main(String[] args) throws Exception {
        ScriptEngineManager factory = new ScriptEngineManager();
        ScriptEngine engine = factory.getEngineByName("JavaScript");

        engine.eval("value = 10");
        Boolean greaterThan5 = (Boolean) engine.eval("value > 5");
        Boolean lessThan5 = (Boolean) engine.eval("value < 5");

        System.out.println("10 > 5? " + greaterThan5); // true
        System.out.println("10 < 5? " + lessThan5); // false
    }
}

关于java - 将字符串评估为条件 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10917878/

相关文章:

c - 使用替代终止字符执行 strcmp 的标准方法?

c - 如何摆脱 C 中的 "call is the same expression as the source"警告?

ios - *** 由于未捕获的异常 'NSRangeException' 而终止应用程序,原因 : '*** -[__NSArrayI objectAtIndex:]: index 3 beyond bounds [0 .. 2]'

java - Java线程中的System.exit

java - Ant 类互相寻找

java - 自定义 JComboBox 编辑器

C++ 字符串数组

Python:BeautifulSoup UnboundLocalError

python - 从 URL 检索参数

java - 从 eclipse 远程调试