On Fri, Feb 10, 2012 at 12:00 PM, Ard Schrijvers <[email protected]> wrote: > On Fri, Feb 10, 2012 at 11:41 AM, Stefan Guggisberg > <[email protected]> wrote: >> On Thu, Feb 9, 2012 at 11:45 PM, Michael Dürig <[email protected]> wrote: >>> >>> Hi, >>> >>> I stumbled upon this by chance: The equals method for the classes >>> ChildNodeEntriesMap and ChildNodeEntry is not symmetric. >> >> hmm, i am pretty sure they're symmetric, i.e.: a.equals(b) == b.equals(a) > > They look symmetric to me as well. Unless you refer to the Bucket innerclass > > ChildNodeEntriesMap#Bucket : This one has an invalid equals method
-> ChildNodeEntriesTree#Bucket > breaking symmetry : Using super.equals in an equals implementation > almost always breaks symmetry good catch! thanks stefan > > Regards Ard > >> >> or are you referring to the missing hashCode() override? >> i admit that i've been lazy since those internal objects are not >> intended to be used as keys for hash tables and sorts. >> >> but you're probably right, it doesn't hurt to implement them :) >> >> cheers >> stefan >> >>> This will most >>> certainly lead to subtle bugs later on. >>> >>> Michael > > > > -- > Amsterdam - Oosteinde 11, 1017 WT Amsterdam > Boston - 1 Broadway, Cambridge, MA 02142 > > US +1 877 414 4776 (toll free) > Europe +31(0)20 522 4466 > www.onehippo.com
