Groovy 语言特性与应用详解
1. 可选类型(Optional Typing)
Groovy 的一大优势在于支持可选类型。和 Java 一样,你可以定义变量、方法参数和返回值的类型,但很多时候并不需要这么做。Groovy 在运行时确定实际类型,并在对象存在相应方法时调用它们(或者你可以通过元类添加支持),这种方式常被称为鸭子类型,即“如果它走路像鸭子,叫声像鸭子,那它就是鸭子”。
这与弱类型不同,对象本身有具体类型,但编译器并不限制你只能调用对象指定类型中定义的方法,只要对象支持该调用,就可以正常工作。甚至你可以动态调用方法或访问属性值:
def person = ...
String methodName = ...
def value = person."$methodName"(1, 2)
String propertyName = ...
def otherValue = person."$propertyName"
2. 集合与映射(Collections and Maps)
在创建和填充集合方面,Groovy 比 Java 简洁很多。以下是 Java 和 Groovy 创建 ArrayList 的对比:
- Java 代码 :
List<String> things = new ArrayList<String>();
things.add("Hello");
things.a
超级会员免费看
订阅专栏 解锁全文

84

被折叠的 条评论
为什么被折叠?



