tika-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eugene Kirpichov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (TIKA-2472) Implement Metadata.hashCode
Date Fri, 06 Oct 2017 21:43:00 GMT

    [ https://issues.apache.org/jira/browse/TIKA-2472?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16195284#comment-16195284
] 

Eugene Kirpichov commented on TIKA-2472:
----------------------------------------

It is not consistent with equals(), so it is definitely incorrect - Java requires hashCode()
to be consistent with equals(): https://docs.oracle.com/javase/7/docs/api/java/lang/Object.html#hashCode()
_If two objects are equal according to the equals(Object) method, then calling the hashCode
method on each of the two objects must produce the same integer result._

This is not the case for the code as written. Try the following:

Metadata a = new Metadata();
a.set("foo", "bar");

Metadata b = new Metadata();
b.set("foo", "bar");

a.equals(b) ==> true
a.hashCode() == b.hashCode() ==> false - and this is incorrect

> Implement Metadata.hashCode
> ---------------------------
>
>                 Key: TIKA-2472
>                 URL: https://issues.apache.org/jira/browse/TIKA-2472
>             Project: Tika
>          Issue Type: Improvement
>    Affects Versions: 1.16
>            Reporter: Sergey Beryozkin
>            Assignee: Sergey Beryozkin
>            Priority: Trivial
>             Fix For: 1.17
>
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message