Groovy 4.0 有哪些改进?
重点变化
- 编译需要JDK16+,编译出的字节码最多兼容到JDK8,建议升级到JDK17。
- 引入新解析器,优化性能。
- GINQ,类似JAX,在groovy代码中写“SQL”语句,可用于处理各种集合类:http://groovy-lang.org/using-ginq.html
其他改进
- 类型检查,自带正则检查器,可自定义扩展:
- 调试工具SV、SVI、SVD,NV、NVL,常用前两个。
- 记录类(孵化功能):
- 强大的Switch功能,不常用。
- JavaShell(孵化功能),可以动态加载、编译、运行java代码,不常用。
- POJO注解(孵化功能),避免编译时引入Groovy内置方法,这样运行时可以脱离对groovy的依赖,不过,依然会自动生成getter/setter等。
- Groovy Contracts(孵化功能),通过注解约束输入输出。
- GString内建缓存提升性能。
- Range支持左右侧包含排除。
- 增强属性值检查,支持https://jqwik.net/。
- 带映射函数的intersect语义调整为,返回值始终是intersect左侧数据子集。
上一篇:一文读懂lambda表达式