Typ Optional
jest jednym z ciekawszych dodatków do Javy w ostatnich latach, jednak gdy chcemy użyć go jako typ pola dla encji (obiekt, którego stan przechowywany jest w bazie danych) to czeka nas nieprzyjemna niespodzianka zaserwowana przez Hibernate.
Java 8
Wyrażenia lambda i interfejsy funkcyjne
Wyrażenia lambda i interfejsy funkcyjne zostały wprowadzone wraz z Javą 8. Zostały dodane, aby ułatwić życie programistom i zachęcić ich do tworzenia kodu funkcyjnego, a nie imperatywnego. Dzięki ich właściwemu użyciu kod staje się krótszy, bardziej czytelny i przejrzysty. Z perspektywy lat (mijają już ponad 4 lata od wydania Javy 8) można stwierdzić, że wyrażenia lambda oraz interfejsy funkcyjne zostały dobrze przyjęte w środowisku: są używane chętnie i często. Interfejsy funkcyjne Interfejsy funkcyjne zostały wprowadzone w Javie 8, aby umożliwić …
Equals i hashCode w Javie
Equals i hashCode to dwie metody, które zna (a przynajmniej powinien znać) każdy programista Javy. Na rozmowach kwalifikacyjnych mogą pojawić się pytania takie jak: Do czego służą metody equals i hashCode? Dlaczego są one tak ważne w kontekście kolekcji? O czym mówi kontrakt equals/hashCode? Czas aby nieco uporządkować wiedzę na ten temat, a może też nauczyć się czegoś zupełnie nowego. Na czym polega problem z equals i hashCode? Można by wręcz rzec: o co tyle krzyku? Otóż sprawa jest bardzo prosta. …
Optional i Java – nie tylko isPresent i get
Czym jest Optional? Wraz ze wszystkimi dobrodziejstwami Javy 8 dotarł do nas długo oczekiwany Optional – czyli wrapper na inny obiekt, który informuje nas czy obiekt ów tam się znajduje, czy może jednak nie. W najogólniejszym opisie miał on służyć do zastąpienia zwracania null pustym Optional właśnie – i tak przykładowa metoda find(employee.getId()) powinna nam zwracać nie obiekt o danym id bądź null, lecz obiekt typu Optional, w którym może się znajdować dany obiekt, bądź pustego Optionala, gdy nie znajdzie danego obiektu, …