• Groovy--使用模板引擎和GroovyShell执行插值字符串


    package curveJudge
    
    import groovy.text.SimpleTemplateEngine
    
    
    /**
     * Created by Jxy on 2019/8/26 17:16
     *
     */
    class EngineTest {
         static void main(String[] args) {
             def shell = new GroovyShell()
             def engine = new SimpleTemplateEngine()
             def map = [
                 'eg1' : 1,
                 'eg2' : 1,
                 'eg3' : 1,
                 'eg5' : 1,
                 'eg6' : 1,
                 'eg7' : 1,
                 'eg8' : 1,
                 'eg9' : 1,
                 'eg10': 1,
                 'eg11': 1,
                 'eg12': 1,
                 'eg14': 1,
                 'eg13': 1,
                 'eg15': 1,
                 'eg16': 1,
                 'eg17': 1,
                 'eg18': 1,
                 'eg19': 1,
                 'eg20': 1,
                 'eg21': 1,
                 'eg22': 1,
                 'eg23': 1,
                 'eg24': 1,
                 'eg25': 1,
                 'eg26': 1,
                 'eg27': 1,
                 'eg28': 1,
                 'eg29': 1,
                 'eg30': 1,
                 'eg31': 1,
                 'eg32': 1,
                 'eg33': 1,
                 'eg34': 1,
                 'eg35': 1,
                 'eg36': 1,
                 'eg37': 1,
                 'eg38': 1,
                 'eg39': 1,
                 'eg40': 1,
                 'eg41': 1,
                 'eg42': 1,
                 'eg43': 1,
                 'eg44': 1,
                 'eg45': 1,
             ]
             def a = System.currentTimeMillis()
             String str = '($eg1+$eg10)*6'
             def string1 = engine.createTemplate(str).make(map).toString()
             println "执行结果:${-> shell.evaluate(string1)}"
             def b = System.currentTimeMillis()
             println "---->执行 1 次需要毫秒数: ${b - a}"
    
             def str1
             for (int i in 1..10) {
                 str1 = '($eg44+$eg3)*2'
                 def string2 = engine.createTemplate(str1).make(map).toString()
                 println "${i}执行结果:${-> shell.evaluate(string2)}"
             }
             def c = System.currentTimeMillis()
             println "执行 10 次需要毫秒数: ${c - b}"
    
             String str2 = '($eg1+$eg10)*6'
             def string3 = engine.createTemplate(str2).make(map).toString()
             println "执行结果:${-> shell.evaluate(string3)}"
             def d = System.currentTimeMillis()
             println "---->在执行 1 次需要毫秒数: ${d - c}"
    
             def str3
             for (int i in 1..100) {
                 str3 = '($eg44+$eg3)*2'
                 def string4 = engine.createTemplate(str3).make(map).toString()
                 println "${i}执行结果:${-> shell.evaluate(string4)}"
             }
             def e = System.currentTimeMillis()
             println "执行 100 次需要毫秒数: ${e - d}"
    
         }
    }
  • 相关阅读:
    Ionic入门一:Hello Ionic
    华为p7怎么打开usb调试模式
    Mac系统如何配置adb
    在Mac中如何显示和隐藏文件
    MAC OSX环境下cordova+Ionic的安装配置
    在Eclipse中怎样写Java注释
    Springmvc数据校验
    SpringMVC核心类DispatcherServlet
    Spring MVC常用的注解类
    为SpringMvc项目安装BootStrap和AngularJs前端框架
  • 原文地址:https://www.cnblogs.com/jsersudo/p/11418078.html
Copyright © 2020-2023  润新知