Though, on reflection, (no pun intended), the Objects class *is* in Java 7; https://docs.oracle.com/javase/7/docs/api/java/util/Objects.html
It makes implement .equals and .hashcode trivial; Assuming a TestClass with three fields, foo, bar and foobar, you have ... @Override public int hashCode() { return Objects.hash(foo, bar, foobar); } and ... @Override public boolean equals(final Object o) { if (!o == instanceof TestClass ) { return false; } final TestClass that = (TestClass) o; return Objects.equals(this.foo, that.foo) && Objects.equals(this.bar, that.bar) && Objects.equals(this.foobar, that.foobar); } On 21 September 2016 at 03:17, Remko Popma <remko.po...@gmail.com> wrote: > Sorry I was thinking of Long.hashCode(long), but I see now that this was > introduced in java 1.8... > > Sent from my iPhone > > On 2016/09/21, at 10:09, Gary Gregory <garydgreg...@gmail.com> wrote: > > Where do you see such a method? > > Gary > > On Tue, Sep 20, 2016 at 4:43 PM, Remko Popma <remko.po...@gmail.com> > wrote: > >> Objects.hashCode(long) does exactly the same, but is certainly easier to >> read. Go for it! >> >> Sent from my iPhone >> >> On 2016/09/21, at 5:06, Greg Thomas <greg.d.tho...@gmail.com> wrote: >> >> Could you use simply >> >> return Objects.hashcode(...) >> >> To avoid the maths In the first place ?? >> -- >> Sent from my iPhone >> >> On 20 Sep 2016, at 19:53, Gary Gregory <garydgreg...@gmail.com> wrote: >> >> I see a Findbugs error in: >> >> org.apache.logging.log4j.core.impl.Log4jLogEvent.hashCode() >> >> for: >> >> result = 31 * result + (threadPriority ^ (threadPriority >>> 32)); >> >> "The code performs shift of a 32 bit int by a constant amount outside the >> range -31..31. The effect of this is to use the lower 5 bits of the integer >> value to decide how much to shift by (e.g., shifting by 40 bits is the same >> as shifting by 8 bits, and shifting by 32 bits is the same as shifting by >> zero bits). This probably isn't what was expected, and it is at least >> confusing." >> >> Thoughts? >> >> Gary >> >> -- >> 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 >> >> > > > -- > 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 > >