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