您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页groovy-运算符

groovy-运算符

来源:伴沃教育

Groovy操作符

Groovy支持运算符重载,各种运算符被映射到普通的java对象的方法调用,这就使得开发者可以利用运算符重载的优势来编写自己的Java或者groovy对象。

Operator Method
a + b a.plus(b)
a – b a.minus(b)
a * b a.multiply(b)
a ** b a.power(b)
a / b a.div(b)
a % b a.mod(b)
a | b a.or(b)
a & b a.and(b)
a ^ b a.xor(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.rightShift(b)
switch(a) { case(b) : } b.isCase(a)
~a a.bitwiseNegate()
-a a.negative()
+a a.positive()

另外需要注意的是下面的所有的操作符,在遇到null的时候,都不会抛出java.lang.NullPointerException

Operator Method
a == b a.equals(b) or == 0 **
a != b ! a.equals(b)
a <=> b
a > b > 0
a >= b >= 0
a < b < 0
a <= b <= 0

需要注意的是,“==”操作符并不总是和equals()方法等价。

  • 比如:
def a = null
def b = "foo"    
assert a != b
assert b != a
assert a == null

无论a或者b谁是null,都不会抛出java.lang.NullPointerException。

  • 另外在不同类型的对象之间比较的时候,强制类型转换规则使用于把数字类型转换为最大的数字类型。所以下面的代码是有效的:
Byte a = 12
Double b = 10    
assert a instanceof Byte
assert b instanceof Double   
assert a > b

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务