Groovy的等价于java的equals()
== <> equals
is() <> is()
Groovy的映射到equals(),这个结论并不总是成立,当且仅当该类没有实现Comparable接口时,才会这样映射。如果实现了Comparable接口,则==会被映射到该类的**CompareTo()**方法。
javap -c ClassFileName 命令可以一窥可读的字节码形式
新的关键字
def:定义方法、属性和局部变量
in:用于在for循环中指定循环的区间,比如for(i in 1…10)
定义名为it的变量也是不明智的。尽管Groovy不会抱怨什么,但是如果在闭包内使用了这样的变量,它引用在闭包的参数,而不是类中的一个字段–隐藏变量可无助于偿还技术债
Groovy中,方法内不能有任何的代码块,因为编译会错误地认为我们是要定义一个闭包,并给出编译错误。
闭包与匿名内部类的冲突 使用({代码块})
分号总是可选的
创建基本类型数组的不同语法
int[] arr = [1, 2, 3]
def arr = [1, 2, 3] as int[]