groovy 速学 - 04 - 操作符
发布时间:2020-12-14 16:48:03 所属栏目:大数据 来源:网络整理
导读:目录 操作符 概述 相等 重载的操作符 安全引用操作符 猫王操作符 摘要 相等,安全引用操作符,猫王操作符 操作符 概述 Groovy 中的操作符实际都是方法,且支持操作符的重载 相等 遵循最小意外原则,Groovy 中 == 等于 Java 中的 equals() 方法。要检查是否对
目录
摘要
操作符概述Groovy 中的操作符实际都是方法,且支持操作符的重载 相等遵循最小意外原则,Groovy 中 Integer x = new Integer(2)
Integer y = new Integer(2)
Integer z
println x == y //true
println x.is(y) //false
println z == null //true
println z.is(null) //true
重载的操作符assert 4 + 3 == 7 //4.plus(3)
assert 4 - 3 == 1 //4.minus(3)
assert 4**3 == 64 //4.power(3)
assert 4 / 3 == 1.3333333333 //4.div(3)
assert 4.intdiv(3) == 1 //整除
assert 4 > 3 //4.compareTo(3)
assert 4 <=> 3 == 1 //4.compareTo(3)
安全引用操作符
//old
List<Person> people = [null,new Person(name: "Jack")]
for (Person person : people) {
if (person != null) {
println person.name
}
}
//output
//Jack
println()
//new
for (Person person : people) {
println person?.name
}
//output 仍然会被输出,仅表示为 null 时不调用.name
//null
//Jack
猫王操作符Groovy 会将三元操作符的操作数强制转为 boolean Java 方式 String agentStatus = "Active"
String status = agentStatus != null ? agentStatus : "Inactive"
assert status == "Active"
Groovy 方式 status = agentStatus ? agentStatus : "Inactive"
assert status == "Active"
简写 status = agentStatus ?: "Inactive"
assert status == "Active"
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |