Groovy: 太空船运算符

[size=x-large]Groovy: 太空船运算符[/size]

Groovy在语言级别提供了很多有意思的运算符。 其中有一个叫做太空船(spaceship)运算符。 之所以叫他太空船运算符,是因为它的语法是 <=> 看上去有点像UFO。 这个运算符是Comparable接口的compareTo方法的另一个表现方式。这就是说只要你在自己的类里实现了compareTo方法,就是可以在你的代码里使用 <=>了。当然已经实现了Comparable接口的其他类也可以使用这个运算符。

class Person implements Comparable {
String username
String email

int compareTo(other) {
this.username <=> other.username
}
}

assert -1 == ('a' <=> 'b')
assert 0 == (42 <=> 42)
assert -1 == (new Person([username:'mrhaki', email: 'test@email.com']) <=> new Person([username:'zavaria', email:'tester@email.com']))
assert [1, 2, 3, 4] == [4, 2, 1, 3].sort{ a, b -> a <=> b }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值