What methods should go into a java.util.Objects class in JDK 7?

David Holmes - Sun Microsystems David.Holmes at Sun.COM
Sun Nov 15 22:44:41 UTC 2009


Paul,

No it is not rhetorical. Most of the one-liners (and I don't necessarily 
agree with them either) at least have some perceived convenience value. 
In this case I see no value add at all. In fact unless you count on 
inlining then this adds pure overhead with the method call.

David

Paul Benedict said the following on 11/16/09 00:01:
> David,
> 
> I think your question is mostly rhetorical. Most of the code in this
> class are one-liners. If you can answer it for this method, you have
> answered it for all.
> 
> I also think it's a common idiom... and so are the other small stuff in here.
> 
> Paul
> 
> On Sat, Nov 14, 2009 at 10:46 PM, David Holmes - Sun Microsystems
> <David.Holmes at sun.com> wrote:
>> Paul,
>>
>> Paul Benedict said the following on 11/15/09 11:28:
>>> I would like to propose adding this method:
>>>
>>> /**
>>>  * Selects the object if not {@code null}; otherwise fallsback to the
>>>  * specified default object.
>>>  *
>>>  * @param object the object to test
>>>  * @param defaultObject the default object
>>>  * @return the object if not {@code null}; otherwise the default object
>>>  */
>>> public static Object defaultIfNull(Object object, Object defaultObject) {
>>>    return (object != null) ? object : defaultObject;
>>> }
>> I don't get it. Why would anyone need the above when they can write:
>>
>>    obj != null ? obj : otherObj
>>
>> themselves ??? Compared to
>>
>>    defaultIfNull(obj, otherObj)
>>
>> you don't even save any keystrokes (and this is with a static import)!
>>
>> David Holmes
>>
>>



More information about the core-libs-dev mailing list