在阅读(同样,很久以前就应该这样做)正确实现equals和hashcode之后,我得出了这些对我有用的结论:如果是JDK7之前的版本:首选使用Apachecommonsequalsbuilder和hashcodebuilder。(或Guava)。他们的javadoc包含如何以良好方式使用它们的示例。如果是JDK7++:使用新的Objects工具类但是,如果为hibernate编写,则会出现一些特殊要求(请参阅下面的资源)其中推荐使用instanceof而不是getClass,因为hibernate会创建延迟加载的子类代理。但据我了解,如果这样做,则会出现另一个潜在问题:使用getCla