Is there a Java equivalent of SQL's COALESCE
function? That is, is there any way to return the first non-null value of several variables?
e.g.
Double a = null;
Double b = 4.4;
Double c = null;
I want to somehow have a statement that will return the first non-null value of a
, b
, and c
- in this case, it would return b
, or 4.4. (Something like the sql method - return COALESCE(a,b,c)
). I know that I can do it explicitly with something like:
return a != null ? a : (b != null ? b : c)
But I wondered if there was any built-in, accepted function to accomplish this.
Apache Commons Lang 3
ObjectUtils.firstNonNull(T...)
Java 8 Stream
Stream.of(T...).filter(Objects::nonNull).findFirst().orElse(null)