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追加一行"
浙公网安备 33010602011771号