JAVA 字符串拼接成可执行的表达式,求解决方案。。。

In8 2015-06-10 02:49:50
JAVA 字符串拼接成可执行的表达式,求解决方案。。。

比如
String ex="value1>value2&&value1>value2||value1<value2";
解析后
1==1&&1>2||1!=2
...全文
300 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
In8 2015-06-10
  • 打赏
  • 举报
回复
引用 6 楼 rui888 的回复:
上面的链接 参考。
搞定谢谢,之前看了这个文档,但是一直没去测试, public static void main(String[] args) throws Exception { //testList(); test(); } private static void test() { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("js"); engine.put("a", 2); engine.put("b", 5); Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE); Object a = bindings.get("a"); Object b = bindings.get("b"); System.out.println("a = " + a); System.out.println("b = " + b); Object result; try { result = engine.eval("a>b&&a==b||a==b;"); System.out.println("a + b = " + result); } catch (ScriptException e) { e.printStackTrace(); } }
tony4geek 2015-06-10
  • 打赏
  • 举报
回复
上面的链接 参考。
tony4geek 2015-06-10
  • 打赏
  • 举报
回复
In8 2015-06-10
  • 打赏
  • 举报
回复
引用 2 楼 huage1998 的回复:
封装一个特殊的工具类来解析撒 比如“a>b” 字符串 我们可以先判定中间的>符号进入大于的函数,进行比对完了返回true或者false撒 && | ||这些都一样 ,把握好先后顺序就可以了
这个最后怎么执行!!!!!!! 我是可以通过替换,但是字符串怎么执行
In8 2015-06-10
  • 打赏
  • 举报
回复
引用 1 楼 rui888 的回复:
1==1&&1>2||1!=2 最后不是 。value1<value2
什么意思呢 ?
huage 2015-06-10
  • 打赏
  • 举报
回复
封装一个特殊的工具类来解析撒 比如“a>b” 字符串 我们可以先判定中间的>符号进入大于的函数,进行比对完了返回true或者false撒 && | ||这些都一样 ,把握好先后顺序就可以了
tony4geek 2015-06-10
  • 打赏
  • 举报
回复
1==1&&1>2||1!=2 最后不是 。value1<value2

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧