Simple ways to check if a value is null before setting it to some object in Java.

You can find the complete code for this here: SetIfNotNull.java

Consider you have a class Movie with an attribute title along with the correspondent setter, and you want to set some new value for the title but only if such value is not null.

  • A very traditional way:
if (title != null) {
    movie.setTitle(title);
}
  • Using ternary operator, in the case title is null you would be placing the same value on the Object which may look a little ugly.
movie.setTitle(Objects.nonNull(title) ? title : movie.getTitle());
  • Very elegant way, although you are creating a new Object with the ofNullable call, but I guess it’s ok.
Optional.ofNullable(title).ifPresent(movie::setTitle);
  • Creating a little helper method which receives the value and a Consumer that sets the value in the object.
public static <V> void setIfNotNull(V value, Consumer<V> setter) {
    if (Objects.nonNull(value)) {
        setter.accept(value);
    }
}

and you call it like this:

setIfNotNull(title, movie::setTitle);

That last one only makes sense if you are using it a lot.

Download the complete code from this post here SetIfNotNull.java.