比较groovy中的null和number

Sim*_*mon 8 groovy

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

0 > null
Run Code Online (Sandbox Code Playgroud)

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

我正在使用Groovy 2.0.5.

tim*_*tes 11

在Groovy中null是最低的元素,所以一切都是> null

assert                    'tim' > null
assert                        0 > null
assert                       -1 > null
assert Double.NEGATIVE_INFINITY > null
Run Code Online (Sandbox Code Playgroud)

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

[ 1, null, 3 ].sort()
Run Code Online (Sandbox Code Playgroud)

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

Groovy选择了前者