On 26 September 2014 14:53, Gary Gregory <garydgreg...@gmail.com> wrote: > 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
Hi Gary, I don't entirely understand the point you are making there - would you mind explaining further? In the meantime, the original posters of LANG-1039 have admitted they don't actually have a use case for passing arrays to this method. They've simply spotted the odd result when they do. I remain convinced the reflective builder is fine as it is, but perhaps the Javadoc could be slightly clearer. I'll look to make an edit to that. Duncan > > 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 --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org