FindBugs - how to solve EQ_COMPARETO_USE_OBJECT_EQUALS

前端 未结 5 1781
后悔当初
后悔当初 2021-01-11 14:50

I am clueless here...

 1: private static class ForeignKeyConstraint implements Comparable {
 2: String tableName;
 3: String fkFi         


        
5条回答
  •  梦谈多话
    2021-01-11 15:28

    This errors means that you're not overriding equals in ForeignKeyConstraint (and thus inheriting the equals from Object) so the following is not true (from the javadoc of compareTo):

    It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."

    To fix the FindBugs check, override equals - and hashCode - if it makes sense which is generally the case (or exclude the check for this class and document that your class violates this condition using the suggested note).

提交回复
热议问题