Grails 此运算符的名称和用途<=&燃气轮机;

Grails 此运算符的名称和用途<=&燃气轮机;,grails,groovy,operators,Grails,Groovy,Operators,我最近在研究Groovy时遇到了一个神奇的操作符: Groovy让我对elvis操作符很满意?。和?:我现在经常使用,非常希望用Java。有了这个新的接线员,我只找到了这个。这似乎使比较容易得多。我的问题是它如何处理空值,以及如何比较不可比较的对象。这个操作员有名字吗?我在谷歌上找不到它。你知道了。它被称为“宇宙飞船”操作员。它。它被称为spaceship操作符,在Ruby中也常用于比较 像许多其他人提到的那样,它被称为宇宙飞船操作员。这是我的测试: def a def b println 1

我最近在研究Groovy时遇到了一个神奇的操作符:


Groovy让我对elvis操作符很满意?。和?:我现在经常使用,非常希望用Java。有了这个新的接线员,我只找到了这个。这似乎使比较容易得多。我的问题是它如何处理空值,以及如何比较不可比较的对象。这个操作员有名字吗?我在谷歌上找不到它。

你知道了。它被称为“宇宙飞船”操作员。它。

它被称为spaceship操作符,在Ruby中也常用于比较


像许多其他人提到的那样,它被称为宇宙飞船操作员。这是我的测试:

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
defa
def b
println 10//1
println 0 1/-1
println 1a//1
println b 0/-1
println a b//0
println“abc”def/-1
println“abc”1//抛出异常:java.lang.ClassCastException

名称:宇宙飞船操作员

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

类:java.lang.Compariable


这个链接更详细地解释了这个操作符。单击

这不是Java问题。。。删除伪标记。@Stephen没问题,我标记为java,因为groovy是超集。我不确定java中是否有我错过的东西。