Let's also think about what happens when you to an array into a Map.

Does the fact that we are dealing with a reflection hashCode API mean it
should give the same key that would be used if you put the array in a map?

Gary

On Fri, Sep 26, 2014 at 7:10 AM, Michael Pigott <
mpigott.subscripti...@gmail.com> wrote:

> Hi Duncan,
>     Does it make sense to create a method specifically for array types,
> which calls reflectonHashCode on each element to compute a final hash code?
> This would solve the poster's problem and avoid polluting
> reflectionHashCode with the behavior.
>
> Regards,
> Mike
> On Sep 26, 2014 6:32 AM, "Duncan Jones" <djo...@apache.org> wrote:
>
> > Hi folks,
> > I'd welcome someone else's viewpoint on LANG-1039. The question is: what
> > should HashCodeBuilder.reflectionHashCode() do when given an array object
> > as input.
> >
> > My argument is that the intended use of this method is for overriding
> > Object.hashCode() and so it should never be the case than an array object
> > is passed to this method. (It will always be "this").
> >
> > The complaint from the poster is that arrays return the result 17. This
> is
> > because arrays have no fields, so our reflection logic doesn't find
> > anything to add to the cumulative hash code.
> >
> > I'm in favour of saying this isn't a problem, but it might be worth
> adding
> > something extra to the Javadocs to make it clearer how this method is
> > intended to be used and how it works. Something like "If object has no
> > fields, the result will be a constant value (default = 17)" or similar.
> >
> > However, we could extend the method to recognise array types and return a
> > hashcode for the array.
> >
> > I welcome thoughts on the matter.
> >
> > Kind regards,
> >
> > Duncan
> >
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition
<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to