我对闭包不是很熟悉,而且我有一个,也许,nooby 问题。在 Groovy 文档中有一个类集合的 unique() 方法的示例。
其中一个使用宇宙飞船操作员。我知道在:
a <=> b
spaceship 运算符在 a < b 时返回 -1,如果 a==b 则返回 0,如果 a>b 则返回 1,就像 compareTo 一样。
在带有闭包的 Groovy Unique 示例中:
assert [2,3,4] == [2,3,3,4].unique { a, b -> a <=> b }
1.- a, b 参数在集合中是什么意思?“a”是[n]位置,“b”是[n+1]?
2.- 宇宙飞船运算符将返回 -1、0 或 1,这对 unique 方法有什么作用?仅使用 unique() 有什么区别吗?我尝试了两种方法,它一直给我返回相同的结果
提前致谢