Wrapper Class Java - Autokast, kasti eemaldamine ja teisendamine

Lang L: none (table-of-contents):

Anonim

Sissejuhatus Java mähkimisklassi

Wrapper Class on java.lang raamatukogu oluline klass. Wrapperi klassi objektid loovad ümbrise primitiivsete andmetüüpide jaoks. Mähkimisklassi objekti loomisel luuakse mällu ruumi, kus hoitakse primitiivseid andmetüüpe.

Wrapperi klass pakub mõningaid funktsioone objekti teisendamiseks primitiivseteks andmeteks ja primitiivseteks andmeteks objektiks, st boksimiseks / kasti eemaldamiseks. Objektidelt teisendamine primitiivseteks andmeteks ja primitiivseteks andmeteks objektideks toimub automaatselt. Primitiivne andmetüüp tähistab int, float, char, double, bait jne.

Süntaks:

Allpool antud deklaratsioon näitab, kuidas Wrapperi klass Java-programmis töötab.

nt int i = 100;

Allpool toodud näites näeme, et i on täisarvandmete tüüp. Mõni aeg java täisarves tuleb objektitüübina läbida. Sel juhul saame täisarvu objektiks teisendamiseks kasutada ümbrisklassi.

Integer intVal = new Integer(i);

Ülaltoodud süntaksis näeme, kuidas primitiivne andmetüüp teisendatakse objektiks, kasutades klassi Integer. Võib ka öelda, et primitiivne andmetüüp mähitakse objektiks.

Wrapper Classi kasutamine Java-s

  1. Wrapper Classi saab kasutada objekti teisendamiseks primitiivseks andmetüübiks või vastupidi.
  2. Pakkeklasside kasutamine parandab programmi jõudlust.
  3. Wrapperi klass aitab objekti järjestamisel ja vastupidi, see suudab primitiivseid andmeid objektideks teisendada. Mõnikord peame objekte voogesitama, sellisel juhul saab ümbriklass teisendada selle serialiseerimisvormingusse.
  4. Mõningaid olulisi meetodeid pakub ümbrisklass, mida kasutatakse kogudes otsimiseks ja sorteerimiseks.
  5. Lahutamine ja liitmine: seda tüüpi toimingud ei saa muuta Wrapperi klassi primitiivse täisarvu vana väärtust, seetõttu tuntakse Wrapperi klassi muutumatuna.
  6. Mitmekeermestamisprotsessis kasutatav mähkimisklass, kuna mitmekihiline protsess vajab protsesside sünkroonimiseks objekti. Wrapper-klass teisendab objektiks erinevad andmetüübid.

JavaAPI põhjal hoiab Wrapperi klasside hierarhia Objekti erinevate primitiivsete klasside ülaosas. Number, märk ja tõeväärtus tulevad teisel tasandil vahetult pärast objekti. Kolmandal tasemel on bait, lühike, keskmine, pikk, hõljuv, topelt tüüpi andmetüüp.

Pakkimisklassid kasutavad andmetüübi teisendamiseks / mähkimiseks või objekti teisendamiseks primitiivseks andmetüübiks kahte järgmist mehhanismi: automaatkast ja kast.

Autokast: automaatkast on primitiivse andmetüübi automaatne teisendamine objektiks, kasutades Wrapperi klasse. Seda tuntakse kui automaatkasti. Allpool toodud näidetes, teisendatud int täisarvuks ja näidetes c, teisendatakse erinevad primitiivsed andmetüübid vastavaks objektiks.

Kasti tühjendamine: kasti eemaldamine on automaatkasti pöördprotsess. Pakkeklassi objekti automaatne teisendamine vastavaks primitiivseks andmetüübiks on Unboxing. Allpool toodud näites b teisendatakse täisarv objekt int primitiivseks andmetüübiks.

Näited Java pakkeklassist

Allpool on Java näited Wrapper Classist.

Näide nr 1

Allpool toodud näites näeme, kuidas käsitsi teisendamine toimub ümbrisklassi kaudu int i-st objektiks k.

Kood:

import java.util.*;
class WrapperExample (
public static void main(String args())(
int j=100;
//converting int j to integer k as an object
Integer k = new Integer(j);
System.out.println(j + "\n" + k);
)
)

Väljund:

Ülaltoodud näites näeme, kuidas konverteerimine otsesõnu toimub.

Näide 2

Allpool toodud näites näeme, et teisendusprotsess toimub mõnikord automaatselt, st kui automaatkasti.

Kood:

import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
int j = 500;
ArrayList arrValues = new ArrayList();
arrValues.add(j); // autoboxing takes place implicitly
System.out.println(arrValues.get(0));
)
)

Väljund:

Ülaltoodud näites teisendatakse int väärtus objektiks kaudselt objektina. Lisaks võib selle väärtuse saada ArrayList.

Näide 3

Selles näites käsitleme Unboxingu rakendamist. Kasti tühjendamine on automaatkasti pöördprotsess.

Kood:

import java.util.*;
class AutoboxingUnboxingExample (
public static void main(String args())(
ArrayList arrValues = new ArrayList();
arrValues.add(250);
//unboxing here as int data type from Integer object
int k = arrValues.get(0);
//value printed is in primitive data type
System.out.println(k);
)
)

Väljund:

Ülaltoodud näites teisendatakse objektiväli ArrayList k-i primitiivseks andmetüübiks, st int k.

Näide 4

Järgnevas näites on kõik üksikasjad automaatse kasti ja kastikese eemaldamise kohta.

Kood:

import java.util.*;
class WrapperConversionExample (
public static void main(String args())(
int i = 15;
float j = 9.6f;
double k = 120.8;
byte l = 1;
//creating instance of Integer object
Integer iObj = new Integer(i);
//creating instance of Float object
Float fObj = new Float(j);
//creating instance of Double object
Double dObj = new Double(k);
//creating instance of Double object
Byte bObj = new Byte(l);
//value printed is in object
System.out.println("Value as an Integer object > " + iObj);
System.out.println("Value as a Float object > " + fObj);
System.out.println("Value as a Double object > " + dObj);
System.out.println("Value as a Byte object > " + bObj);
//primitive data type from the object
int m = iObj;
float n = fObj;
double o = dObj;
byte p = bObj;
//value printed is in primitive data type
System.out.println("Value as an int primitive type > " + m);
System.out.println("Value as a float primitive type > " + n);
System.out.println("Value as a double primitive type > "+ o);
System.out.println("Value as a byte primitive type > " + p);
)
)

Väljund:

Ülaltoodud programmis näeme Wrapperi tundide rakendamist. Pakkimisklassid muudavad primitiivse andmetüübi objekti ja objekti teisendamiseks primitiivseks andmetüübiks. Pakendamisklass pakub iga primitiivse andmetüübi jaoks eraldi klassid.

Järeldus

Wrapperi tundide kaudu saame hõlpsasti aru automaatkastist ja kastist. Kuidas toimub muundumine ürgsest objektiks ja vastupidi, mida saab Wrapperi tundide kaudu hõlpsasti mõista. Kõigi primitiivsete andmetüüpide jaoks on javas spetsiaalne klass.

Soovitatav artikkel

See on Java mähiseklassi juhend. Siin käsitleme Java ümbrisklassi süntaksit ja kasutusvõimalusi koos erinevate näidete ja koodi rakendamisega. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Kuidas Java kohtuasja kirjeldus?
  2. Mis on Java geneerika?
  3. Serialiseerimise mõiste Java-s
  4. Java 8 parimat intervjuuküsimust
  5. Java juurutustööriistad
  6. Näited ja kuidas Generics töötab C #