Mam następujący kod w Javie wyszukiwania:„Optional.get()” bez 'isPresent() sprawdzić
return getTableViewController().getMe().getColumns().stream().filter($->Database.equalsColumnName($.getId(), columnId)).findFirst().get();
ja chcąc odnaleźć kolumnę nazwy i powrócić pierwszy znaleziony.
Rozumiem, że istnieje przypadek, gdy nic nie znaleziono i powinno zostać przetworzone, ale w jaki sposób?
Czy to, co chce przez to przeklinanie:
'Optional.get()' without 'isPresent()' check
?
Jak naprawić? Chcę zwrócić null
, jeśli nic nie znaleziono.
UPDATE
Dobra, dobra, ja po prostu nie zdawali sobie sprawy, że findFirst()
powraca Optional
.
Należy zauważyć, że nie należy używać '$' jako identyfikatora w języku Java: [JLS Sec 3.8] (https://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html # jls-3.8): "Znak $ powinien być używany tylko w mechanicznie generowanym kodzie źródłowym lub, rzadko, w celu uzyskania dostępu do wcześniej istniejących nazw w starszych systemach." –