【发布时间】:2018-02-06 20:40:30
【问题描述】:
给定两个案例类别列表
case class Entity(field1: String, field2: String, field3: String)
val a: Seq[Entity] = ...
val b: Seq[Entity] = ...
如何查找 a 中不在 b 中的所有实体,仅基于 field1 和 field2,而忽略 field3?
我已经考虑过覆盖 case 类的 equals() 函数,也是 case class ()(此处忽略字段)方法的巧妙技巧,但不同用途需要这些字段的多种组合案例,例如diff 使用 field1 + field2,然后使用 field 1 + field 3,等等......
【问题讨论】:
-
我不会覆盖 equals,因为这不直观。如果您创建一组实体(E(a, b, c), E(a, b, d))并且只添加其中一个,因为第二个被认为是相等的......
标签: scala collections