如何安全地使用Map和Set?

时间:2017-10-25 15:23:00

标签: java

在我们的Java项目中,我们倾向于使用Map<K, V>Set<E>使用相当多的数据结构,其中键KE不是简单的现有类(如整数或字符串),但我们开发的类:将新类CarVO视为Map的关键。

当我们这样做时,我们需要确保我们安全地执行此操作,即我们需要确保在新类equals()中实施hashCode()CarVO。但是,默认情况下,Java并没有强制我们这样做,因为java.lang.Object已经使用默认逻辑实现它们,这对项目来说几乎没用。这可以不被注意。

问题是,这些方法的默认实现会给我们的项目带来真正的风险。

你们有没有办法强迫编译器,另一个工具或代码分析器(也许是checkstyle?)来查找是否有任何开发人员忘了&#34;在Map&lt;&gt;中使用的类上实现equals()和hashCode()或设置&lt;&gt;?

我知道可能没有一个干净的解决方案,但任何(最好通过Jenkins或Ant自动化)解决方案肯定会有所帮助。

谢谢。

0 个答案:

没有答案