Ein häufig in Enterprise-Anwendungen auftauchendes Problem sind NullPointerExceptions. Um diese zu umgehen, kann man einen "Wrapper" nutzen, welcher die Referenzen auf Objekte einpackt und Möglichkeiten bietet, mit Null-Values umzugehen: java.util.Optional

Einer der "Anwendungsfälle" kann der folgende sein:

  private String getValueFromField(String fieldName) {
      ...
      return value;
  }
  private void handleValues() {

String val = getValueFromField("Caption");
if (val != null) {
baseObject.setCaption(val);
}
  }

kann bei Verwendung von Optional ersetzt werden durch:

  private Optional<String> getOptionalValueFromField(String fieldName) {
...
return Optional.ofNullable(value);
  }

private void handleValues() {
getOptionalValueFromField("Caption").ifPresent(baseObject::setCaption);
getOptionalValueFromField("editDate").ifPresent(baseObject::setEditDate);
getOptionalValueFromField("author").ifPresent(baseObject::setAuthor);
....
}

Da get[Optional]ValueFromField() nun ein Optional<String> zurück gibt, kann man die Methoden von Optional anwenden. Eine dieser Methoden ist ifPresent(), welche einen Consumer als Parameter erwartet. So kann man den Code m.M. etwas übersichtlicher gestalten.