陷阱

博客介绍了Groovy与Java的对比,如Groovy中==映射到equals()的条件,实现Comparable接口时==会映射到CompareTo()方法。还提及了Groovy的新关键字,如def、in,以及闭包、分号使用、数组创建语法等特性,同时指出方法内代码块的编译问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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[]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值