Ich habe den folgenden Suchcode in Java:
return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get();
Ich wollte die Spalte nach Namen finden und die erste gefundene zurückgeben.
Ich verstehe, dass es einen Fall gibt, in dem nichts gefunden wurde und verarbeitet werden sollte, aber wie?
Ist es das, was es von diesem Fluchen will:
'Optional.get()' without 'isPresent()' check
?
Wie repariert man? Ich möchte zurückkehren, null
wenn nichts gefunden wird.
AKTUALISIEREN
Okay, okay, ich wusste nur nicht, dass das findFirst()
zurückkehrt Optional
.
$
in Java nicht als Bezeichner verwenden sollten: JLS Sec 3.8 : "Das $ -Zeichen sollte nur in mechanisch generiertem Quellcode oder selten für den Zugriff auf bereits vorhandene Namen auf Legacy-Systemen verwendet werden."