将字符串作为条件求值 Java

2023-12-26

我必须从 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
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将字符串作为条件求值 Java 的相关文章

随机推荐

  • Nodejs HTTP Createserver - 从 html 文件提供服务时不可预测的 javascript 执行

    当我从我的 Node js Web 服务器提供具有一些 JavaScript 的 html 文件时 与我从外部源包含相同的 JavaScript 时相比 我得到了不同的结果 我已经验证 使用 javascript 内联或外部源直接打开 ht
  • RecyclerView 项目在片段之间切换后消失

    我的应用程序中有 4 个片段 它们在 NavActivity 中管理 protected void onCreate Bundle savedInstanceState super onCreate savedInstanceState s
  • Hibernate不创建连接表

    我遇到了一个以前从未发生过的问题 我有ManyToMany关系 Hibernate 不会创建连接表 它仅创建实体表 我正在将 SpringDataJpa 与 MySQL 一起使用 医生实体 Entity Table name doctors
  • 从等高线生成高度图的算法是什么?

    我正在寻找插入一些轮廓线来生成 3D 视图 轮廓不存储在图片中 轮廓的每个点的坐标仅存储在 std vector 中 对于凸轮廓 似乎 我自己没有检查 通过使用两个最接近轮廓的两个最近点之间的距离可以轻松计算高度 线性插值 我的轮廓不一定是
  • 何时在 clojure(或 lisp)中使用感叹号?

    他们说在命名不纯函数时使用感叹号 但我不太理解 不纯 的功能 他们是吗 函数更改其参数的状态 通过重置 更改 java object methods 函数发生副作用 例如 打印 吐出 or both 显然 官方的 clojure api 并
  • 无法解析的外部符号(OpenGL 和 C++)

    好的 所以我正在编写一个小项目 没什么复杂的 它只有几个类 正如标题所暗示的 它使用 OpenGL 目前 还没有 真正的 主要功能 我在使用 gl 函数调用的地方都包含了 glew h 并将其添加到链接器输入 glew32 lib 中 然而
  • 如何在python中使用套接字而无需等待

    我用Python创建了一个游戏 该游戏由几条蛇组成 每条蛇由不同的计算机控制 每台计算机都会向服务器计算机发送蛇所指向的角度 问题是该命令 client mess client socket recv 1024 极大的抑制了服务器的运行 导
  • 使用 aws-sdk 从 javascript(reactjs) 调用 lambda(node/express - 无服务器快速路由)

    Reactjs const result await invokeLambda points 调用Lambda js const AWS require aws sdk AWS config update accessKeyId id se
  • 调试时忽略 Visual Studio 中的项目

    在 Visual Studio 中 如果您有一个包含许多项目的解决方案 是否可以指示调试器忽略某些项目 在这个意义上将它们视为外部 DLL 吗 我们有很多我想调试的帮助程序代码 例如 如果我处于函数调用中 并且进入其中 我想跳过 IoC 代
  • 数组的 IsEmpty() 函数

    我想测试我的数组是否为空 我尝试使用该功能IsEmpty 但函数总是返回False 并且不要输入 if 条件 我的代码如下 Sub Freeze Dim tab freeze as variant If IsEmpty tab freeze
  • Scala mixin 到类实例

    Scala 中是否可以对类实例进行一些混合 例如 我有一些 MyClass 实例var x new MyClass我想在某些方法或特征上扩展它而不复制它 Edit 我正在寻找延伸的方法x当它被实例化之后 因此 例如在函数方法中 得到x作为参
  • Facebook 转化事件是否有类似于 Google Analytics 的回调功能?

    我在文档中找不到转化跟踪中是否有任何回调功能 https developers facebook com docs ads for websites tag api https developers facebook com docs ad
  • 使用“;”下载文件或文件名中的“#”会破坏文件名

    我有一个名为 AttachmentDownload aspx 的文件 并且 Page Load 方法内部有这样的代码 可以提供下载文件 除包含 的名称外 所有名称均可在 IE 中正常工作 或者 他们允许用户以 AttachmentDownl
  • github 搜索限制结果

    我需要在 Github 上进行大量搜索以获取论文中的统计数据 例如 我需要在 GitHub 上探索大量 Android 项目 但该网站将搜索结果限制为 1000 个 例如 还使用Java GitHub API我尝试使用该方法库org ecl
  • 从 DNX 迁移到 ASP.NET Core 2.0 时 API 丢失/更改

    我一直致力于将应用程序从过时的 DNX 迁移到 ASP NET Core 2 0 在这样做的过程中 我们发现命名空间和 API 几乎没有变化 例如Microsoft AspNet to Microsoft AspNetCore 尽管我已经能
  • android listview 显示所有可用项目,无需滚动静态标题

    我在尝试使某种布局发挥作用时遇到了一些困难 我想要一个列表 列表不必是可滚动的 但应该完整显示 但是 如果总内容高于屏幕 页面本身应该能够滚动 其中包含列表
  • ReactiveUI 与 MvvmCross

    标题说明了一切 根据您的经验 这两个框架之间的主要区别是什么 我们什么时候应该使用其中一种而不是另一种 预期用途 跨平台开发 Windows 8 iOS Android WindowsRT Mac 我在同一个跨平台解决方案中同时使用 Mvv
  • 验证类实例属性的正确方法

    有一个像这样的简单 Python 类 class Spam object init self description value self description description self value value 我想检查以下限制
  • 使用 Pandas 从 CSV 读取整数时如何优雅地回退到“NaN”值?

    使用时read csv对于 Pandas 如果我想要将给定的列转换为类型 格式错误的值将中断整个操作 而不会指示有问题的值 例如 运行如下内容 import pandas as pd import numpy as np df pd rea
  • 将字符串作为条件求值 Java

    我必须从 D B 检索一组列值并将其作为条件进行检查 例如 我会有像这样的字符串 value gt 2 4 lt value lt 6 在 D B 列中 值是一直被比较的值 我将在代码中声明一个变量值 并且我应该评估这个条件 int val