First round of java.util.Objects for code review (bug 6797535)
Ulf Zibis
Ulf.Zibis at gmx.de
Fri Oct 9 09:30:13 UTC 2009
Am 09.10.2009 10:56, Eamonn McManus schrieb:
> Hi,
>
> Marek Kozieł wrote:
> >> + public static boolean equals(Object a, Object b) {
> >> + return (a == b) || (a != null && a.equals(b));
> >> + }
> >
> > Hello,
> > I would suggest other implementation of equals method:
> >
> > public static boolean equals(Object a, Object b) {
> > if (a == null) return (b == null ? true : b.equals(null));
> > if (b == null) return a.equals(null);
> > return a.equals(b);
> > }
> >
> > This one could cover case when null is considered as object in object
> > equals method [...]
>
> An equals implementation that can return true when its argument is
> null violates its contract since
> it is not symmetric. In fact, the spec of Object.equals specifically
> says that the method must
> return false when the argument is null.
>
The spec, you mention, refers to the instance method equals(), but here
we are talking about static helpers.
But anyway, I don't understand the point of Marek's implementation.
-Ulf
More information about the core-libs-dev
mailing list