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

Spring Data – @Query

spring data query dev foundry blog programowanie java spring kursy

Jednym z głównych modułów frameworka Spring jest moduł Spring Data, dzięki któremu możemy zminimalizować niemal do zera ilość tak zwanego „boiler-plate” kodu przy tworzeniu znanych z Domain Driven Design repozytoriów. DDD jest podejściem do tworzenia obiektowego modelu naszej aplikacji, natomiast repozytoria są to klasy, które odpowiadają za pobieranie obiektów domenowych z zewnętrznego źródła danych, dodatkowo również tam umieszcza się różnorakie metody odpowiadające za zwracanie obiektów spełniających dane kryteria. Mówiąc jeszcze prościej – repozytoria odpowiadają za obsługę operacji typu CRUD (zestawu …

Czytaj dalej…Spring Data – @Query

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