为了账号安全,请及时绑定邮箱和手机立即绑定

使用java怎么解析像${value1==value2}这样的脚本语句?

使用java怎么解析像${value1==value2}这样的脚本语句?

鸿蒙传说 2019-03-01 17:25:43
比如说外界传入一个字符串${value1==value2},我使用java怎么才能解析出这个语句想要表达的判断value1和value2是否相等这个意思并获得计算结果,或者说怎么识别出这个语句里有value1和value2这两个参数?目前我已经知道使用ScriptEngine可以按js语法把value1和value2的值带入value1==value2式子中去计算,但前提还是需要知道表达式中参数名才好去替换现在的需求就是,前面经过一系列的操作已经有了若干个变量的值保存在一个Map中,后面需要读取某一个字符串s进行解析并从Map中提取s需要的变量值去计算,就像这样valuesMap.put("value1", value1); valuesMap.put("value2", value2); ...String s = "value1==value2"; ScriptEngine engine = ...//TODO 取出s中包含的参数列表valueListengine.put(valueList,get(i), valuesMap.get(valueList,get(i)));求解取出参数列表那一步怎么实现?或者要实现这整个功能该怎么去做?
查看完整描述

2 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

这个还需要你具体说一下你真正的需求,看是否有更好的解决方案,有的时候不能固定好了怎么实现。

查看完整回答
反对 回复 2019-03-01
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

如果非要实现现在这种方案,循环 map 使用 engine 定义变量就好了,但是感觉你还要更深入的理解需求,看是否有更合理的解决方案。

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 621 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号