Junior
Čo sú to wrapper triedy v Jave?
sobes.tech AI
Odpoveď od AI
Wrapper triedy v Jave sú triedy, ktoré poskytujú objektovo-orientované zobrazenie primitívnych dátových typov. Umožňujú používať primitívne hodnoty v kontextoch, kde sú potrebné objekty, napríklad v kolekciách alebo pri práci s viacvláknovým spracovaním.
Hlavné Wrapper triedy:
ByteShortIntegerLongFloatDoubleBooleanCharacter
Príklady použitia:
Použitie primitívu:
// Primitívny typ
int x = 10;
Použitie Wrapper triedy:
// Wrapper trieda
Integer y = new Integer(20); // Zastaralý spôsob vytvárania
Integer z = 30; // Autoboxing (automatické prevedenie primitívu na objekt)
Prevod medzi primitívmi a Wrapper objektmi:
- Autoboxing: Automatické prevedenie primitívu na Wrapper objekt.
// Autoboxing int primitiveInt = 100; Integer wrapperInt = primitiveInt; - Unboxing: Automatické prevedenie Wrapper objektu na primitív.
// Unboxing Integer wrapperInteger = new Integer(200); int primitiveInteger = wrapperInteger;
Výhody Wrapper tried:
- Práca s kolekciami: Kolekcie (
List,Set,Map) ukladajú iba objekty. - Práca s
null: Wrapper objekty môžu mať hodnotunull, na rozdiel od primitívov. - Poskytovanie užitočných metód: Wrapper triedy majú metódy na prevod reťazcov, porovnávanie hodnôt a pod. Napríklad,
Integer.parseInt(String s). - Práca s generikami: Generiká pracujú iba s objektmi.
Nevýhody Wrapper tried:
- Spotreba pamäte: Wrapper objekty zaberajú viac pamäte ako primitívy.
- Zníženie výkonu: Automatické prevedenie (autoboxing a unboxing) môže mierne znižovať výkon.
Príklad použitia v kolekcii:
import java.util.ArrayList;
import java.util.List;
public class WrapperExample {
public static void main(String[] args) {
List<Integer> numbers = new ArrayList<>();
numbers.add(10); // Autoboxing
numbers.add(new Integer(20)); // Priame vytvorenie objektu
int firstNum = numbers.get(0); // Unboxing
System.out.println(firstNum);
}
}