Sortowanie kolekcji w Javie

sortowanie kolekcji comparable comparator dev foundry blog programowanie java spring kursy

Podczas pracy z projektami Javowymi często zdarza się sytuacja, w której musimy posortować daną kolekcję według określonego kryterium. Wtedy z pomocą przychodzą nam dwa interfejsy: Comparable oraz Comparator. W tym wpisie omówię kwestię sortowania kolekcji w Javie, wyjaśnię czym różni się sortowanie przy pomocy interfejsu Comparable od sortowania z wykorzystaniem interfejsu Comparator i w jaki sposób z nich korzystać. Pokażę też dwie kolekcje, których działanie opiera się na zachowaniu odpowiedniej kolejności elementów: TreeSet oraz TreeMap. Sortowanie w kolekcjach Kiedy mówimy o sortowaniu danej …

Czytaj dalej…Sortowanie kolekcji w Javie

Multicatch wyjątków w języku Java

exception multicatch dev foundry blog programowanie java spring kursy

W tym wpisie pokażę jak można przechwytywać wiele wyjątków naraz, gdy chcemy je obsługiwać w ten sam sposób. Jest to tak zwany multicatch i jest on dostępny również w Javie, począwszy od wersji 7. Za przykład niech posłuży nam sytuacja, w której dana metoda może rzucić jednym z wielu wyjątków, na przykład: public void businessMethod() throws IOException,  IllegalStateException, BusinessException{ gdzie BusinessException jest zdefiniowany w następujący sposób: public BusinessException() extends IllegalStateException() { public BusinessException(String msg) { super(msg); } } Jeśli chcesz …

Czytaj dalej…Multicatch wyjątków w języku Java

Enum – ograniczenia i możliwości

enum dev foundry blog programowanie java spring kursy

Enum to specyficzna klasa, która w języku Java reprezentuje specjalny typ wyliczeniowy. Pierwszy raz pojawił się w Javie 5 i został wprowadzony, aby umożliwić programistom lepszą reprezentację zbioru stałych wartości. Posiada zarówno wiele ciekawych właściwości, jak i możliwości do rozwoju, co z kolei powoduje, że może stać się bardzo przydatną klasą. Prosta implementacja klasy Enum Zacznijmy od przykładu, który ilustruje najprostsze, a jednocześnie chyba najczęściej spotykane wykorzystanie klasy Enum w codziennej pracy: public enum TicketType { BUG, TASK, SUGGESTION; } …

Czytaj dalej…Enum – ograniczenia i możliwości

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