假设有这么一个需求:外部传入一个Map形式的字符串,如"[1:'A',2:'B']",现在要把这个字符串转换成map对象。
如果自己去解析并构造出map对象,显然很麻烦。
Groovy可以执行脚本,将一个脚本字符串传给groovyshell,它再去sh.evaluate(expression).
所有我们也可以利用它来帮我们解析出map对象。
Map map = new groovyshell().evaluate("[1:'A',2:'B']")
Groovy提供了一个帮助类Eval来方便地使用groovyshell。可以用它来计算表达式的值(表达式不需要大量的绑定对象)
Map map = Eval.me("[1:'A',2:'B']")
Eval.me("""println "哈哈" """)
Eval还可以这么使用: assert 10 == Eval.me(' 2 * 4 + 2') assert 10 == Eval.me('x',2,' x * 4 + 2') //x是变量,现在x=2,表达式是“x * 4 + 2” assert 10 == Eval.x(2,' x * 4 + 2') assert 10 == Eval.xy(2,4,' x * y + 2') assert 10 == Eval.xyz(2,' x * y + z')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。