Java null przy biznesowej findById

0

Hej. Co myślicie o tym, żeby metoda np. public Car findById(int carId); zamiast nulla jeżeli nie znajdzie obiektu zwracała public Optional<Car> findById(int carId); ?

dużo pozytywnego słyszałam o Optional, ale czy nie jest to przerost formy nad treścią? korzystam z Java6 i guavowego Optional.

0

To zależy co potem chcesz z tym robić. Przy jednym obiekcie to nie wiem czy jest to aż tak wygodne i przydatne. Przy kolekcjach ma to czasem większy sens. Pytanie co chcesz potem z tym obiektem robić? Bo jak sprawdzić ifem co ci przyszło i coś dalej wykonywać to różnica jest żadna ;]
Optional z Javy 8 ma też trochę innych bajerów jak na przykład orElse i orElseGet które ułatwiają wykonywanie obsługi sytuacji kiedy trafił się null.

0

Żaden przerost formy nad treścią - Chyba książkowy problem który można ładnie rozwiązać Optionalem :) Oczywiście zakładam że to faktycznie może wywołać null-pointer.. czyli wywołujesz coś na tym.

0

Rozwiazanie dobre, ponieważ pozawala na unikniecie NPE oraz konstrukcji if(null). Z drugiej strony nalezy pamietać, że potrzebujesz obsługi dla Absent, a to może być nietrywialne.

0

Obsługa absent nietrywialna? Przecież bez Optionala obsługa nulla byłaby co najmniej tak samo nietrywialna.

0

Nie trywialna nie oznacza trudna. Trzeba po porostu samemu napisać. W przypadku null można walić NPE i zdać się na obsługę błędów z kontenera. W najgorszym wypadku walnie 500 po oczach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1