Ich bin neugierig zu wissen, wie ich eine kürzere Version des folgenden Codes in Java schreiben kann.Standardwert erhalten, wenn das Objekt in Java null ist
Ich habe die folgende Java-Klasse (gehört zu JAX-RS):
Ich brauche den int-Wert der response zurück, wenn das möglich (Antwort nicht null ist), ansonsten Standard-Int-Statuswert muss zurückgegeben werden.
Ich möchte keine Bibliotheksabhängigkeit zu meinem Projekt nur für dieses kleine Stück Code hinzufügen.
Dies ist der Code, was zuerst in meinem Kopf kommen:
private static int getDefaultStatusCodeIfNull(final Response response) {
if (Objects.isNull(response)) {
return Response.Status.INTERNAL_SERVER_ERROR.getStatusCode();
}
return response.getStatus();
}
Der folgende Code vielleicht kürzer mit Lambda, aber es ist so lang und schwer zu lesen:
int status = Optional.ofNullable(response)
.orElse(Response.status(Response.Status.INTERNAL_SERVER_ERROR).build()).getStatus();
Gibt es einen kürzeren Ein-Linien-Weg, um diesen int-Wert zu erhalten?
Glaubst du, die zweite Lösung ist besser als die erste?
Ich wähle diese Frage als Wegthema zu schließen, da der Code funktioniert. Fragen zur Verbesserung von Code gehören zum [Code Review] (https://codereview.stackexchange.com/) Stack Exchange, – AJNeufeld