If the second value is allowed to be null, then I don't find this new method useful. What value do you see in it? It doesn't provide any extra functionality to a simple if-else/ternary test, right? I throw my lot in with Stephen that the return value must be non-null.
Cheers, Paul On Tue, Oct 6, 2015 at 9:06 AM, Roger Riggs <roger.ri...@oracle.com> wrote: > Hi Paul, > > Hence the question about the method name. > It already documents explicitly that the nullDefault value is returned and > does not restrict the value. > > To be a direct replacement for the current code, it should return the 2nd > value regardless of whether it is null or not. > > Roger > > > > > On 10/6/2015 9:56 AM, Paul Benedict wrote: > > It's quite possible for the second argument to be null. Is that your > intention? I am not sure it makes sense, but it's not harmful either. I > recommend you can either (1) explicitly document that's a possibility and > this method could still return null or (2) prevent it by calling > requireNonNull. > > > Cheers, > Paul > > On Tue, Oct 6, 2015 at 8:43 AM, Roger Riggs <roger.ri...@oracle.com> > wrote: > >> Java.lang.Objects contains a number of convenience methods to make it >> easier to handle references that are null. >> For example, toString(obj, nullDefault), >> >> A new method is proposed to return the reference or a default value if >> the reference is null. >> static <T> T nonNull(T obj, T nullDefault); >> >> Alternatives to the method name include >> nonNullOrElse ( using the java.util.Optional name pattern) or >> nonNullOrDefault >> >> Please review and comment. >> >> Webrev: >> http://cr.openjdk.java.net/~rriggs/webrev-object-non-null/ >> >> Issue: >> https://bugs.openjdk.java.net/browse/JDK-8138963 >> >> Thanks, Roger >> >> > >