假设您使用的是java.util.Set形式.java中的集合使用equals方法来比较两个对象.您希望覆盖要比较的类的Equals方法(Product),以便在项目编号匹配时告诉该组它们是相等的.
https://docs.oracle.com/javase/7/docs/api/java/util/Set.html
编辑:正如911DidBush和Todd Sewell所提到的,每当你覆盖equals方法时,你也会想要覆盖hashCode方法,以免破坏hashCode的契约.
来自Java doc:
请注意,通常需要在重写此方法时覆盖hashCode方法,以便维护hashCode方法的常规协定,该方法声明相等对象必须具有相等的哈希代码.
http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html
来自Setjavadoc的引用:
不包含重复元素的集合.更正式地说,集合不包含元素对e1和e2,使得e1.equals(e2)和至多一个null元素.
如您所见,通过调用相应命名的equals方法来确定两个对象是否被视为相同.请记住,在实现时,您equals还应该实现hashcode,如此处和equalsjavadoc中所述.