First round of java.util.Objects for code review (bug 6797535) (original) (raw)
Eamonn McManus Eamonn.McManus at Sun.COM
Fri Oct 9 09:36:20 UTC 2009
- Previous message: First round of java.util.Objects for code review (bug 6797535)
- Next message: First round of java.util.Objects for code review (bug 6797535)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
The spec, you mention, refers to the instance method equals(), but here we are talking about static helpers.
The difference between Marek's suggestion and Joe's is what happens when the equals(Object) method of a or b returns true for a null argument, and that is what I was saying violates the spec.
Éamonn McManus · JMX Spec Lead · http://weblogs.java.net/blog/emcmanus
Ulf Zibis wrote:
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
- Previous message: First round of java.util.Objects for code review (bug 6797535)
- Next message: First round of java.util.Objects for code review (bug 6797535)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]