Najlepszy Java Developer

Najlepszy Java Developer – Zadanie 9: Budowniczy

Zadanie Wielbłądy już za nami, a koniec pierwszej edycji Najlepszego Java Developera zbliża się wielkimi krokami. Już niedługo nadejdzie czas na podsumowanie i małe niespodzianki dla najwytrwalszych. 😉 Na koniec proste zadanie – na pewno prostsze niż te poprzednie. Nie będzie ono z żadnej kategorii co poprzednie – tym razem skupimy się wzorcu projektowym tzn. …

Continue Reading
Rekrutacja

Java pytanie rekrutacyjne: Wykonywanie bloku finally

Czym blok finally jest wykonywany w przypadku złapania wyjątku? W przypadku, gdy mamy blok try catch możemy dodać kolejny blok finally, który powinnien wykonywać się zawsze. Jednak czy na pewno jest to prawda? Co w przypadku, gdy złapiemy wyjątek lub zwrócimy wartość z metody już w bloku try? Przetestujmy to na prostych przykładach: package pl.rekrutacja.pytanie; …

Continue Reading
Najlepszy Java Developer

Najlepszy Java Developer – Zadanie 8: Wielbłądy

Zadanie Ostatnio zajmowaliśmy się wakacjami – tym razem… wielbłądami. W skrócie zadanie polega na konsumowaniu API transportu wielbłądziego – kolejny raz się nie przesłyszałeś: wielbłądy. Dodatkowo również musimy wykonać kilka operacji i obliczeń na otrzymanych danych. Już tłumaczę dokładniej. W tym repozytorium znajduję się aplikacja springowa, jeśli ją uruchomimy to będziemy mieli możliwość do wysyłania zapytań do API …

Continue Reading
Rekrutacja

Java pytanie rekrutacyjne: Przeciążanie i przesłanianie metod

Czym różni się przeciążanie od przysłaniania metod? Przeciążanie metody polega na stworzeniu wielu metod o tej samej nazwie, lecz przyjmującymi inne parametry. Taki mechanizm pozwala użytkownikowi użycie tej metody, która mu odpowiada – np. ma obiekt danego typu i nie chce go samodzielnie zmieniać. Takim przykładem może być parametr URL oraz String – zależnie od …

Continue Reading
Rekrutacja

Java pytanie rekrutacyjne: Kolejność wykonywania operatorów

Kolejność wykonywania operatorów Jaki będzie rezultat działania poniższego programu? package org.blog; public class Main { public static void minLengthString(String s) { if (s != null && s.length() > 3) { System.out.println(„Napis ma więcej niż 3 znaki.”); } } public static void main(String[] args) { String strValue = null; minLengthString(strValue); } } Zostanie rzucony wyjątek NullPointerException, …

Continue Reading
Najlepszy Java Developer

Najlepszy Java Developer – Zadanie 7: Wyjazd na wakacje

Zadanie Pomyślicie, że 6 zadanie nie zostało jeszcze sprawdzone, a wyskakuje już z kolejnym. Niestety nastała taka sytuacja – oczywiście wynikła od Pablo. Ma on poważny problem – chce zorganizować wypad na małe wakacje. Ma niestety sporo propozycji wyjazdu i największym priorytetem jest odległość. Musi wybrać to naprawdę szybko. Klikanie i wpisywanie np. w Google …

Continue Reading
Rekrutacja

Java pytanie rekrutacyjne: Wieloparametrowe konstruktory

Czy wieloparametrowe konstruktory są poprawne? Wieloparametrowe konstruktory pod względem składni języka są poprawne, za to występują z nimi inne problemy. W przypadku, gdy mamy konstruktor z większą ilością parametrów np. cztery oraz większość parametrów jest tego samego typu to zaczynają się problemy. Stwórzmy prosty przykład, najzwyklejsza POJO klasa Usera z 6 polami: package org.blog; public …

Continue Reading
Java

Delivery service – Wstrzykiwanie zależności

Wstrzykiwanie zależności W czasach, gdy dopiero rozpoczynałem swoją przygodę z programowaniem w Javie – czyli czasy, w których nie znałem żadnego wzorca projektowego oprócz singletonu – Pablo poprosił mnie o stworzenie prostego serwisu dla dostarczania paczek. Prosty serwis, który miałby usprawnić mu wysyłanie przesyłek. Pomyślałem – czemu nie? W końcu upiekę dwie pieczenie na jednym …

Continue Reading
Rekrutacja

Java pytanie rekrutacyjne: Metody typu wyliczeniowego

Wymień metody typu wyliczeniowego i opisz krótko ich przeznaczenie W typie wyliczeniowym znajdziemy następujące metody: name(), ordinal(), values(), valueOf(String name). Przypuśćmy, że mamy typ wyliczeniowy Gender: package org.blog; public enum Gender { MALE, FEMALE } name() Metoda zwraca nazwę obiektu, czyli wywołując: System.out.println(Gender.MALE.name()); Otrzymamy: MALE ordinal() Ze względu, że każdy obiekt typu wyliczeniowego ma przypisany swój …

Continue Reading
Wzorce projektowe

Strategiczne usuwanie if-ów

Strategiczne usuwanie if-ów Ponownie zabiorę Cię do swojego labolatorium. Tym razem pokażę Ci jak w łatwy sposób można zwiększyć czytelność swojego kodu. Czynnik, który jest bardzo ważny podczas programowania. W końcu jeden projekt może tworzyć wielu programistów jednocześnie i każdy z nich dokłada od siebie kolejne cegiełki – przy okazji będąc zmuszony do rozumienia cudzych …

Continue Reading