为什么Groovy中的以下内容为真?
0 > null
是选择还是仅仅是compareTo实现的结果?
我正在使用Groovy 2.0.5。
答案 0 :(得分:10)
在Groovy中null
是可能性最低的元素,所以一切都是> null
assert 'tim' > null
assert 0 > null
assert -1 > null
assert Double.NEGATIVE_INFINITY > null
这意味着这样的事情可以起作用:
[ 1, null, 3 ].sort()
否则会发生什么?如果你想要这个,你必须说“null低于任何东西”或“null高于任何东西” ......
Groovy选择了前者