Java iesaiņotāju klase (ar piemēriem)

Šajā apmācībā mēs uzzināsim par Java Wrapper klasi, izmantojot piemērus.

Aptinums klases Java tiek izmantoti, lai pārvērstu primitīvas veidi ( int, char, float, utt) uz attiecīgajiem objektiem.

Katram no 8 primitīvajiem veidiem ir atbilstošas ​​iesaiņošanas klases.

Primitīvais tips Iesaiņotāju klase
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Konvertējiet primitīvo veidu uz iesaiņojuma objektiem

Mēs varam arī izmantot valueOf()primitīvu tipu pārveidošanu par atbilstošiem objektiem.

1. piemērs: Primitīvie veidi iesaiņojuma objektiem

 class Main ( public static void main(String() args) ( // create primitive types int a = 5; double b = 5.65; //converts into wrapper objects Integer aObj = Integer.valueOf(a); Double bObj = Double.valueOf(b); if(aObj instanceof Integer) ( System.out.println("An object of Integer is created."); ) if(bObj instanceof Double) ( System.out.println("An object of Double is created."); ) ) ) 

Rezultāts

Tiek izveidots vesels skaitlis. Tiek izveidots Double objekts.

Iepriekš minētajā piemērā mēs esam izmantojuši valueOf()metodi, lai primitīvos tipus pārveidotu par objektiem.

Lūk, mēs esam izmantojuši instanceofoperatoru, lai pārbaudītu, vai radītie objekti ir Integervai Doubleveida vai ne.

Tomēr Java kompilators primitīvos veidus var tieši pārveidot par atbilstošiem objektiem. Piemēram,

 int a = 5; // converts into object Integer aObj = a; double b = 5.6; // converts into object Double bObj = b; 

Šis process ir pazīstams kā automātiskais bokss . Lai uzzinātu vairāk, apmeklējiet Java autoboxing un unboxing.

Piezīme . Mēs arī varam pārveidot primitīvos veidus iesaiņojuma objektos, izmantojot Wrapperklases konstruktorus. Bet pēc Java 9 tiek izmesti konstruktori.

Iesaiņojuma objekti primitīvos veidos

Lai pārvērstu objektus vērā primitīvas veidi, mēs varam izmantot attiecīgās vērtības metodes ( intValue(), doubleValue()uc), kas atrodas katrā iesaiņojums klasē.

2. piemērs: Iesaiņojuma objekti primitīvos veidos

 class Main ( public static void main(String() args) ( // creates objects of wrapper class Integer aObj = Integer.valueOf(23); Double bObj = Double.valueOf(5.55); // converts into primitive types int a = aObj.intValue(); double b = bObj.doubleValue(); System.out.println("The value of a: " + a); System.out.println("The value of b: " + b); ) ) 

Rezultāts

 A vērtība: 23 b vērtība: 5,55 

Iepriekš minētajā piemērā mēs izmantojām intValue()un doubleValue()metodi, lai pārveidotu objektus Integerun Doubleobjektus atbilstošos primitīvos veidos.

Tomēr Java kompilators var automātiski pārveidot objektus atbilstošos primitīvos tipos. Piemēram,

 Integer aObj = Integer.valueOf(2); // converts into int type int a = aObj; Double bObj = Double.valueOf(5.55); // converts into double type double b = bObj; 

Šis process ir pazīstams kā unboxing . Lai uzzinātu vairāk, apmeklējiet Java autoboxing un unboxing.

Iesaiņotāju klases priekšrocības

  • Java dažkārt primitīvu datu tipu vietā mums var būt jāizmanto objekti. Piemēram, strādājot ar kolekcijām.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    Šādos gadījumos iesaiņošanas klases palīdz mums primitīvu datu tipus izmantot kā objektus.
  • Mēs varam glabāt nulles vērtību iesaiņojuma objektos. Piemēram,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Piezīme : Primitīvie veidi ir efektīvāki nekā atbilstošie objekti. Tādējādi, ja prasība ir efektivitāte, vienmēr tiek ieteikti primitīvi veidi.

Interesanti raksti...