Junior
Kas ir Wrapper klases Java?
sobes.tech AI
Atbilde no AI
Java Wrapper klases ir klasēs, kas nodrošina primitīvo datu tipu objektu orientētu attēlojumu. Tās ļauj izmantot primitīvas vērtības kontekstos, kur nepieciešami objekti, piemēram, kolekcijās vai daudzvirzienu programmēšanā.
Galvenās Wrapper klases:
ByteShortIntegerLongFloatDoubleBooleanCharacter
Piemēri lietošanai:
Primitīvu izmantošana:
// Primitīvs tips
int x = 10;
Wrapper klases izmantošana:
// Wrapper klase
Integer y = new Integer(20); // Veca metode
Integer z = 30; // Autoboxing (automātiska primitīva pārvēršana objektā)
Starp primitīviem un Wrapper objektiem notiek pārvēršana:
- Autoboxing: automātiska primitīva pārvēršana Wrapper objektā.
// Autoboxing int primitiveInt = 100; Integer wrapperInt = primitiveInt; - Unboxing: Wrapper objekta automātiska pārvēršana primitīvā.
// Unboxing Integer wrapperInteger = new Integer(200); int primitiveInteger = wrapperInteger;
Wrapper klases priekšrocības:
- Darbs ar kolekcijām: kolekcijas (
List,Set,Map) glabā tikai objektus. - Darbs ar
null: Wrapper objekti var būt ar vērtībunull, atšķirībā no primitīviem. - Noderīgas metodes: Wrapper klases satur metodes, kas ļauj pārvērst tekstā, salīdzināt vērtības u.c. Piemēram,
Integer.parseInt(String s). - Darbs ar ģenerikām: ģenerikās darbojas tikai ar objektiem.
Trūkumi:
- Atmiņas patēriņš: Wrapper objekti aizņem vairāk atmiņas nekā primitives.
- Veiktspējas samazinājums: automātiskā pārvēršana (autoboxing un unboxing) var nedaudz samazināt veiktspēju.
Piemērs kolekcijā:
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)); // Objektu izveide
int firstNum = numbers.get(0); // Unboxing
System.out.println(firstNum);
}
}