Java Wrapper -luokka (esimerkkejä)

Tässä opetusohjelmassa opitaan Java Wrapper -luokasta esimerkkien avulla.

Kääre luokat Java käytetään muuntamaan alkukantaiset ( int, char, float, jne), joka vastaa esineitä.

Jokaisella kahdeksasta primitiivisestä tyypistä on vastaavat kääreluokat.

Primitiivinen tyyppi Käärintäluokka
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

Muunna primitiivinen tyyppi kääreobjekteiksi

Voimme myös käyttää valueOf()menetelmää primitiivisten tyyppien muuntamiseksi vastaaviksi kohteiksi.

Esimerkki 1: Primitiiviset tyypit kääreobjekteille

 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."); ) ) ) 

Tuotos

Luodaan kokonaislukuobjekti. Double-objekti luodaan.

Yllä olevassa esimerkissä olemme käyttäneet valueOf()menetelmää primitiivisten tyyppien muuntamiseksi esineiksi.

Täällä olemme käyttäneet instanceofkäyttäjää tarkistamaan onko muodostettu esineet ovat Integertai Doubletyypin tai ei.

Java-kääntäjä voi kuitenkin muuntaa primitiiviset tyypit suoraan vastaaviksi objekteiksi. Esimerkiksi,

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

Tämä prosessi tunnetaan nimellä auto-boxing . Lisätietoja on osoitteessa Java autoboxing and unboxing.

Huomaa : Voimme myös muuntaa primitiiviset tyypit kääreobjekteiksi Wrapperluokan rakentajilla. Rakentajien käyttö hylätään Java 9: ​​n jälkeen.

Kääreobjektit alkutyyppeihin

Muuntaa esineitä alkukantaiset, voimme käyttää vastaavaa arvoa menetelmiä ( intValue(), doubleValue()jne) läsnä kussakin kääre luokassa.

Esimerkki 2: Kääreobjektit primitiivityypeiksi

 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); ) ) 

Tuotos

 A: 23: n arvo: 5,55 

Yllä olevassa esimerkissä olemme käyttäneet intValue()ja doubleValue()-menetelmää muuttaaksemme Integerja Double-objektit vastaaviksi primitiivityypeiksi.

Java-kääntäjä voi kuitenkin muuntaa objektit automaattisesti vastaaviksi primitiivisiksi tyypeiksi. Esimerkiksi,

 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; 

Tätä prosessia kutsutaan pakkauksen purkamisesta . Lisätietoja on osoitteessa Java autoboxing and unboxing.

Käärintäluokkien edut

  • Java-ohjelmassa joissakin tapauksissa on ehkä käytettävä objekteja primitiivisten tietotyyppien sijaan. Esimerkiksi työskennellessäni kokoelmien kanssa.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    Tällaisissa tapauksissa käärintäluokat auttavat meitä käyttämään primitiivisiä tietotyyppejä esineinä.
  • Voimme tallentaa nolla-arvon kääreobjekteihin. Esimerkiksi,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Huomautus : Primitiiviset tyypit ovat tehokkaampia kuin vastaavat objektit. Siksi, kun tehokkuus on vaatimus, suositellaan aina primitiivisiä tyyppejä.

Mielenkiintoisia artikkeleita...