Some notes on Elvis and Other Null-Safe Operators

Joseph D. Darcy Joe.Darcy at Sun.COM
Thu May 14 22:42:01 PDT 2009

Mark Mahieu wrote:
> Below are a few observations I compiled while building and testing  
> the prototype for Elvis and friends, in case they're of interest.   
> They are in note form and fairly random order, so please shout if  
> anything isn't clear.
> Mark
> --------
> Elvis operator can be approximated as a library method:
>          static <T> T elvis(T t1, T t2) { return t1 != null ? t1 : t2; }
> In a core-libs round table recording (at 
> pipermail/core-libs-dev/2009-April/001406.html) the possibility of  
> adding core library methods for common null-handling tasks is  
> mentioned, such as throwing a standard exception if a supplied  
> argument is null (presumably similar to methods in  
>  Is it reasonable to implement  
> the Elvis operator as a language change but other null-handling  
> facilities as library changes?

A belated reply, in general and for null handling in particular, 
addressing the problem with libraries is preferable to addressing the 
problem with a language change.


More information about the coin-dev mailing list