9、操作符重载
l Groovy支持操作符重载,使得数值、集合、Map和其它种类的数据结构更容易使用
l 在Groovy中的各种操作符被映射到对象中调用的正规方法
|
Operator |
Method |
|
a + b |
a.plus(b) |
|
a - b |
a.minus(b) |
|
a * b |
a.multiply(b) |
|
a / b |
a.divide(b) |
|
a++ or ++a |
a.next() |
|
a-- or --a |
a.previous() |
|
a[b] |
a.getAt(b) |
|
a[b] = c |
a.putAt(b, c) |
|
a << b |
a.leftShift(b) |
|
a == b |
a.equals(b) |
|
a != b |
! a.equals(b) |
|
a === b |
Java中的 a == b |
|
a <=> b |
a.compareTo(b) |
|
a > b |
a.compareTo(b) > 0 |
|
a >= b |
a.compareTo(b) >= 0 |
|
a < b |
a.compareTo(b) < 0 |
|
a <= b |
a.compareTo(b) <= 0 |
l 注意:所有比较操作符已经对null处理了,以避免抛出java.lang.NullPointerException
a = nullb = "foo"assert a != bassert b != aassert a == nulll 在不同类型的数值比较之前,Groovy会自动将数值的类型转换为更大范围的数值类型,因此,下面的例子是有效的:
Byte a = 12Double b = 10assert a instanceof Byteassert b instanceof Doubleassert a > b
博客介绍了Groovy支持操作符重载,可让数值、集合等数据结构更易用,其各种操作符会映射到对象调用的正规方法。同时提到所有比较操作符已对null处理,避免抛出空指针异常,且在不同类型数值比较前,Groovy会自动转换类型。
1106

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



