Ključna razlika – klasa omotača naspram primitivnog tipa u Javi
Java je popularan programski jezik koji se koristi za razvoj raznih aplikacija. Jedna od prednosti Jave je ta što podržava objektno orijentirano programiranje (OOP). Korištenjem OOP-a, program ili softver se mogu modelirati pomoću objekata. Klasa se koristi kao nacrt za stvaranje objekta. U programiranju je potrebno pohraniti podatke. Rezervirane memorijske lokacije za pohranu podataka poznate su kao varijable. Svaka varijabla ima određeni tip podataka. Postoji osam primitivnih tipova koje nudi jezik Java. Oni su short, byte, int, float, double, char, boolean. Ponekad je potrebno pretvoriti primitivni tip u objekt i objekt natrag u primitivni tip. Za ovu konverziju koriste se klase omotači. Ovaj članak govori o razlici između klase omotača i primitivnog tipa u Javi. Ključna razlika između klase omotača i primitivnog tipa u Javi je ta da se klasa omotača koristi za pretvaranje primitivnog tipa u objekt i objekta natrag u primitivni tip, dok je primitivni tip unaprijed definirani tip podataka koji pruža programski jezik Java.
Što je Wrapper Class u Javi?
Klasa Wrapper u Javi koristi se za pretvaranje primitivnog tipa podataka u objekt i objekta u primitivni tip. Čak se i primitivni tipovi podataka koriste za pohranjivanje primarnih tipova podataka, strukture podataka kao što su Array Lists i Vectors pohranjuju objekte. Stoga je za pretvorbu potrebno koristiti klase omotača. Odgovarajuće klase omotača za primitivne tipove char, byte, short i int su Character, Byte, Short i Integer. Odgovarajuće klase omotača za long, float, double i boolean su Long, Float, Double i Boolean.
Slika 01: Java program koji pretvara Wrapper klase u primitivne tipove
Prema gornjem programu, intobj je objekt Integer wrapper klase. Floatobj je objekt klase omotača Float. Doubleobj je objekt klase Double wrapper. Integer objekt se pretvara u primitivni int pomoću intValue (). Slično, Float objekt se pretvara u primitivni float pomoću floatValue(). Objekt Double pretvara se u primitivni double pomoću doubleValue (). Ako programer zapiše naredbu kao int i=intobj; kompajler interno zapisuje u bj. Value(). Proces automatskog pretvaranja objekta klase omotača u njegov odgovarajući primitivni tip poznat je kao raspakiranje. Zbirke poput ArrayLists koriste klasu Wrapper jer pohranjuju objekte.
Što je primitivni tip u Javi?
Primitivni tipovi podataka su unaprijed definirani tipovi podataka koje nudi programski jezik Java. Postoji osam primitivnih tipova. Oni su byte, short, int, long, float, double, boolean i char. Tip podataka bajt koristi se za pohranjivanje 8-bitnog komplementnog cijelog broja s predznakom. Kratki tip podataka koristi se za pohranjivanje 16-bitnog komplementarnog cijelog broja s predznakom. Tip podataka int koristi se za pohranjivanje 32-bitnog komplementa cijelog broja s dva predznaka, dok se tip podataka long koristi za pohranjivanje 64-bitnog cijelog broja s predznakom dva. float se koristi za pohranjivanje 32-bitne vrijednosti pomičnog zareza jednostruke preciznosti, a double se koristi za pohranjivanje 64-bitne vrijednosti pomičnog zareza dvostruke preciznosti. Booleov se koristi za predstavljanje true ili false. Znak se koristi za pohranjivanje jednog znaka. To je osam primitivnih tipova u Javi.
Slika 02: Java program koji pretvara primitivne tipove u Wrapper klase
Prema gornjem programu, num1 je int tip. Pretvara se u Integer prosljeđivanjem num1 u Integer.valueOf(). float1 može pohraniti float vrijednosti. Pretvara se u tip Float prosljeđivanjem float1 u Float.valueOf(). Slično, double1 može pohraniti dvostruke vrijednosti. Pretvara se u tip Double prosljeđivanjem double1 u Double.valueOf(). Ako programer zapiše naredbu kao Interger intobj=num1; kompajler interno zapisuje Integer.valueOf(num1); Proces automatskog pretvaranja primitivnog tipa u odgovarajući objekt klase omotača poznat je kao autoboxing.
Koja je sličnost između klase omotača i primitivnog tipa u Javi?
I klasa Wrapper i primitivni tip u Javi mogu se koristiti za pohranu podataka u programiranju
Koja je razlika između klase omotača i primitivnog tipa u Javi?
Klasa omotača u odnosu na primitivni tip u Javi |
|
Klasa omotača pruža mehanizam za pretvaranje primitivnog tipa u objekt i objekta u primitivni tip. | Primitivni tip je unaprijed definirani tip podataka koji nudi Java. |
Pridružena klasa | |
Klasa Wrapper koristi se za stvaranje objekta; dakle, ima odgovarajuću klasu. | Primitivni tip nije objekt pa ne pripada klasi. |
Nulte vrijednosti | |
Objekti klase omotača dopuštaju nulte vrijednosti. | Primitivni tip podataka ne dopušta nulte vrijednosti. |
Potrebna memorija | |
Potrebna memorija veća je od primitivnih tipova. Grupirani indeks ne zahtijeva dodatni prostor. | Potrebna memorija je niža u usporedbi s klasama omotača. |
Zbirke | |
Klasa Wrapper može se koristiti s kolekcijom kao što je ArrayList, itd. | Primitivni tip se ne koristi sa zbirkama. |
Sažetak – Klasa omotača naspram primitivnog tipa u Javi
Jezik Java nudi osam primitivnih tipova podataka. Ponekad je potrebno pretvoriti primitivne tipove u objekte i također pretvoriti objekte natrag u primitive. Za postizanje tog zadatka mogu se koristiti klase omotači. Razlika između klase omotača i primitivnog tipa u Javi je u tome što se klasa omotača koristi za pretvaranje primitivnog tipa u objekt i objekta natrag u primitivni tip, dok je primitivni tip unaprijed definirani tip podataka koji pruža programski jezik Java.