java - 为什么需要使用 Set 覆盖 equals() 和 hashcode() 进行多值关联?
问题描述
在hibernate 手册中,如果您打算将持久类的实例放在 Set 中(表示多值关联的推荐方法),则必须覆盖 equals() 和 hashCode() 方法。
于是问题出现了:
为什么推荐用它来表示集合中的多值关联?(为什么我不应该使用,比如说,ArrayList 或 LinkedList)。
仅在使用 Set 时才应覆盖这些方法的幕后会发生什么?
在hibernate 手册中,如果您打算将持久类的实例放在 Set 中(表示多值关联的推荐方法),则必须覆盖 equals() 和 hashCode() 方法。
于是问题出现了:
为什么推荐用它来表示集合中的多值关联?(为什么我不应该使用,比如说,ArrayList 或 LinkedList)。
仅在使用 Set 时才应覆盖这些方法的幕后会发生什么?