Generyki Flashcards
1
Q
Co to są generyki w Javie?
A
- mechanizm pozwalający na typowanie klas, interfejsów, metod
- umożliwaja tworzenie elastycznych typów, które zachowują bezpieczneństwo statycznego typowania w trakcie kompilacji
- kompilator sprawdza typy podczas kompilacji, co zapobiega błędom typu podczas działania programu.
- zapobiega ClassCastException
2
Q
Co to jest ograniczenie typu (type bound) w generykach?
A
- pozwala określić z jakich typów może korzystać parametr typu
- T extends Number> oznacza, że T może być dowolonym typem, który jest podtypem klasy Number
- kompilator będzie wiedział, że ten obiekt będzie miał metody tej klasy
3
Q
Czym jest typ wildcard w generykach Javy?
A
- ? znak używany jako typ argumentu
- pozwala reprezentować nieznany typ
- List? extends Number> oznacza liste nieznanego typu ale ten typ jest podtypem klasy Number
4
Q
Jakie są główne zalety korzystania z generyków w Javie?
A
- błędy są typów są wykrywane w czasie kompilacji a nie wykonywania
- Eliminacja potrzeby rzutowania.
- Możliwość tworzenia kodu, który jest bardziej elastyczny i czytelny.
5
Q
bounded vs wildcard
A
- T extends Number>
- daje możliwość odnieść sie do konkretnego typu Number w metodzie - mamty dostęp do metod number
- ? extends Number>
- nie można odnieść się w metodzie do ?
6
Q
Jak zadeklarować klase generyczna
A
Pudełko<String> pudełkoZTekstem = new Pudełko<>("Tekst"); Pudełko<Integer> pudełkoZLiczba = new Pudełko<>(123);
7
Q
Klasa generyczna z wieloma parametrami typu
A
Para<String, Integer> para = new Para<>("Wiek", 25);
8
Q
Jak zdefiniować generyczną metodę do printowania zawartości Array ?
A