Wyrażenia lambda i interfejsy funkcyjne

lambda interfejs funkcyjny functional interface dev foundry blog programowanie java spring kursy

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ć …

Czytaj dalej…Wyrażenia lambda i interfejsy funkcyjne

Equals i hashCode w Javie

equals hashcode dev foundry blog programowanie java spring kursy

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. …

Czytaj dalej…Equals i hashCode w Javie

Optional i Java – nie tylko isPresent i get

optional dev foundry blog programowanie java spring kursy

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, …

Czytaj dalej…Optional i Java – nie tylko isPresent i get