在groovy中比较null和number

为什么Groovy中的以下内容为真?

0 > null

是选择还是只是compareTo实现的结果?

我正在使用Groovy 2.0.5.

最佳答案
在Groovy中,null是可能的最低元素,因此所有内容都是>空值

assert                    'tim' > null
assert                        0 > null
assert                       -1 > null
assert Double.NEGATIVE_INFINITY > null

这意味着这样的事情可以工作:

[ 1, null, 3 ].sort()

否则会发生什么?如果你想要这个,你必须说“null低于任何东西”或“null高于任何东西”……

Groovy选择了前者

转载注明原文:在groovy中比较null和number - 代码日志