我正在尝试交叉2个POGO列表。
我需要在POGO上实现哪些方法/接口?
intersect方法的文档仅指出它必须是Iterable。
即
list1 = createPOGOList()
list2 = createPOGOList()
list3 = list1.intersect(list2)
其中list1和lists2包含POGO。
答案 0 :(得分:2)
你最安全的赌注是Comparable
,获得“免费”的最简单方法是通过Sortable
AST变换。 E.g。
@groovy.transform.Sortable(includes=['id'])
class Pogo {
Long id
}
def n = { new Pogo(id:it) }
assert [n(1),n(2)].intersect([n(1)])*.id == [1]