You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Iurii (JIRA)" <ji...@apache.org> on 2018/02/19 05:25:00 UTC

[jira] [Commented] (LANG-1368) HashCodeBuilder.append incorrect behavior with chains of nulls

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

Iurii commented on LANG-1368:
-----------------------------

Can you add some test with exact cases that reproduce the issue? I tried running sequences of append with null arguments and I always got a consistent with EqualsBuilder result. 

> HashCodeBuilder.append incorrect behavior with chains of nulls
> --------------------------------------------------------------
>
>                 Key: LANG-1368
>                 URL: https://issues.apache.org/jira/browse/LANG-1368
>             Project: Commons Lang
>          Issue Type: Bug
>            Reporter: Ryan Wisnesky
>            Priority: Minor
>
> I have a 7-way choice/sum/variant class, so that 6 of its 7 fields are null in each object of that class.  When using HashCodeBuilder's reflective hashCode, a 10k line java project works correctly.  When using HashCodeBuilder.append instead, sequential calls to append with a null argument cause the returned hashCode to be inconsistent with EqualsBuilder.  Correct behavior can be restored by appending a dummy non-null field initially:
> 	new HashCodeBuilder()
> 					.append(true) //bad return value without this dummy call
> 					.append(chc1)
> ...
> 					.append(chc7)
> 					.toHashCode();
> 	



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)