groovy高级特性

1. 安全导航运算符(?.)
   避免空指针异常(NPE),若对象为 null,直接返回 null:
   def str = null
   println str?.toUpperCase() // null(不会抛 NPE)

2. Elvis 运算符(?:)
   简化 null 判空赋值,等价于 obj ?: defaultValue(obj 为 null 时取 defaultValue):
   def name = null
   def realName = name ?: "默认名称" // realName = "默认名称"

3. 集合操作(GDK 增强)
   Groovy 对 Java 集合扩展了大量便捷方法:
   def list = [1,2,3,4,5]
   println list.findAll { it % 2 == 0 } // 过滤偶数:[2,4]
   println list.find { it > 3 } // 找第一个>3的元素:4
   println list.sum() // 求和:15
   println list.groupBy { it % 2 } // 分组:[0:[2,4], 1:[1,3,5]]

4. 文件操作(极简)
   Groovy 简化了 Java 繁琐的文件 IO:
   // 读取文件(一行搞定)
   def content = new File("test.txt").text // 读取全部文本
   // 按行读取
   new File("test.txt").eachLine { line ->
      println line
   }
   // 写入文件
   new File("output.txt").write("Hello Groovy")
   // 追加内容
   new File("output.txt") << "\n追加一行"

posted on 2025-12-15 22:20  枫飘过的天1  阅读(0)  评论(0)    收藏  举报