该运算符被调用的是什么以及它用于< =>

时间:2011-03-16 06:21:37

标签: grails groovy operators

我最近在深入研究Groovy时遇到了这个神奇的算子:< =>

Groovy真的让我对elvis运营商满意吗?和?:我现在经常使用,非常希望用Java。有了这个新的运算符,我只找到了这个reference。它似乎使比较器更容易。我的问题是它如何处理空值以及它如何比较非Comparable对象。这个运营商是否有名称,我找不到谷歌搜索。

4 个答案:

答案 0 :(得分:5)

你得到了a list of operators here。它被称为“太空船”运营商。它handles null without problem

答案 1 :(得分:5)

它被称为宇宙飞船运营商,也常用于Ruby中的比较。

http://www.objectpartners.com/2010/02/08/the-groovy-spaceship-operator-explained/

答案 2 :(得分:2)

姓名:太空飞船运营商

它使用的方法: a.compareTo(b) //其中a和b是已使用的变量

类: java.lang.Comparable

此链接更多地解释了该运营商。点击Here

答案 3 :(得分:1)

像许多其他人一样,它被称为宇宙飞船运营商。这是我的测试:

def a
def b

println 1 <=> 0                 // 1
println 0 <=> 1                 // -1
println 1 <=> a                 // 1
println b <=> 0                 // -1
println a <=> b                 // 0
println "abc" <=> "def"         // -1
println "abc" <=> 1             // throw exception: java.lang.ClassCastException