logo

Java'da sarmalayıcı sınıfları

Java'da sarmalayıcı sınıfı mekanizmayı sağlar ilkel olanı nesneye ve nesneyi ilkel hale dönüştürmek .

J2SE 5.0'dan bu yana, otomatik kutulama Ve kutu açma özelliği, ilkelleri otomatik olarak nesnelere ve nesneleri ilkellere dönüştürür. İlkelin bir nesneye otomatik olarak dönüştürülmesi, otomatik kutulama ve tam tersi olarak kutudan çıkarma olarak bilinir.

Java'da Wrapper sınıflarının kullanımı

Java nesne yönelimli bir programlama dilidir, dolayısıyla Koleksiyonlar, Serileştirme, Senkronizasyon vb. gibi nesnelerle birçok kez uğraşmamız gerekir. Sarma sınıflarını kullanmamız gereken farklı senaryoları görelim.

c++ bölünmüş dize
    Yöntemdeki değeri değiştirin:Java yalnızca değere göre çağrıyı destekler. Yani ilkel bir değer iletirsek orijinal değeri değiştirmeyecektir. Ancak bir nesnedeki ilkel değeri dönüştürürsek orijinal değer değişecektir.Serileştirme:Serileştirmeyi gerçekleştirmek için nesneleri akışlara dönüştürmemiz gerekiyor. Eğer ilkel bir değere sahipsek onu sarmalayıcı sınıflar aracılığıyla nesnelere dönüştürebiliriz.Senkronizasyon:Java senkronizasyonu Çoklu İş Parçacığı'ndaki nesnelerle çalışır.java.util paketi:Java.util paketi nesnelerle ilgilenecek yardımcı program sınıflarını sağlar.Koleksiyon Çerçevesi:Java toplama çerçevesi yalnızca nesnelerle çalışır. Koleksiyon çerçevesinin tüm sınıfları (ArrayList, LinkedList, Vector, HashSet, LinkedHashSet, TreeSet, PriorityQueue, ArrayDeque, vb.) yalnızca nesnelerle ilgilenir.

Sekiz sınıf java.lang paket Java'da sarmalayıcı sınıflar olarak bilinir. Sekiz sarmalayıcı sınıfının listesi aşağıda verilmiştir:

İlkel TipSarmalayıcı sınıfı
booleanBoolean
karakter Karakter
baytBayt
kısaKısa
int Tamsayı
uzunUzun
batmadan yüzmekBatmadan yüzmek
çiftÇift

Otomatik kutulama

İlkel veri türünün karşılık gelen sarmalayıcı sınıfına otomatik olarak dönüştürülmesi, otomatik kutulama olarak bilinir; örneğin bayttan Bayta, karakterden Karaktere, int'den Tam Sayıya, long'dan Long'a, float'tan Float'a, boolean'dan Boolean'a, double'dan Double'a ve short Kısa'ya.

Java 5'ten bu yana, ilkelleri nesnelere dönüştürmek için sarmalayıcı sınıfların valueOf() yöntemini kullanmamıza gerek yok.

node.js'deki komut

Sarmalayıcı sınıfı Örnek: İlkelden Sarmalayıcıya

 //Java program to convert primitive into objects //Autoboxing example of int to Integer public class WrapperExample1{ public static void main(String args[]){ //Converting int into Integer int a=20; Integer i=Integer.valueOf(a);//converting int into Integer explicitly Integer j=a;//autoboxing, now compiler will write Integer.valueOf(a) internally System.out.println(a+' '+i+' '+j); }} 

Çıktı:

 20 20 20 

Kutu açma

Sarmalayıcı türünün karşılık gelen ilkel türüne otomatik olarak dönüştürülmesi, kutudan çıkarma olarak bilinir. Otomatik kutulama işleminin tersidir. Java 5'ten bu yana, sarmalayıcı türünü temel öğelere dönüştürmek için sarmalayıcı sınıflarının intValue() yöntemini kullanmamıza gerek yok.

Sarmalayıcı sınıfı Örnek: Sarmalayıcıdan İlkel'e

 //Java program to convert object into primitives //Unboxing example of Integer to int public class WrapperExample2{ public static void main(String args[]){ //Converting Integer to int Integer a=new Integer(3); int i=a.intValue();//converting Integer to int explicitly int j=a;//unboxing, now compiler will write a.intValue() internally System.out.println(a+' '+i+' '+j); }} 

Çıktı:

excel ilk karakteri kaldır
 3 3 3 

Java Wrapper sınıfları Örnek

 //Java Program to convert all primitives into its corresponding //wrapper objects and vice-versa public class WrapperExample3{ public static void main(String args[]){ byte b=10; short s=20; int i=30; long l=40; float f=50.0F; double d=60.0D; char c='a'; boolean b2=true; //Autoboxing: Converting primitives into objects Byte byteobj=b; Short shortobj=s; Integer intobj=i; Long longobj=l; Float floatobj=f; Double doubleobj=d; Character charobj=c; Boolean boolobj=b2; //Printing objects System.out.println('---Printing object values---'); System.out.println('Byte object: '+byteobj); System.out.println('Short object: '+shortobj); System.out.println('Integer object: '+intobj); System.out.println('Long object: '+longobj); System.out.println('Float object: '+floatobj); System.out.println('Double object: '+doubleobj); System.out.println('Character object: '+charobj); System.out.println('Boolean object: '+boolobj); //Unboxing: Converting Objects to Primitives byte bytevalue=byteobj; short shortvalue=shortobj; int intvalue=intobj; long longvalue=longobj; float floatvalue=floatobj; double doublevalue=doubleobj; char charvalue=charobj; boolean boolvalue=boolobj; //Printing primitives System.out.println('---Printing primitive values---'); System.out.println('byte value: '+bytevalue); System.out.println('short value: '+shortvalue); System.out.println('int value: '+intvalue); System.out.println('long value: '+longvalue); System.out.println('float value: '+floatvalue); System.out.println('double value: '+doublevalue); System.out.println('char value: '+charvalue); System.out.println('boolean value: '+boolvalue); }} 

Çıktı:

 ---Printing object values--- Byte object: 10 Short object: 20 Integer object: 30 Long object: 40 Float object: 50.0 Double object: 60.0 Character object: a Boolean object: true ---Printing primitive values--- byte value: 10 short value: 20 int value: 30 long value: 40 float value: 50.0 double value: 60.0 char value: a boolean value: true 

Java'da Özel Sarmalayıcı sınıfı

Java Wrapper sınıfları ilkel veri türlerini sarar, bu nedenle sarmalayıcı sınıflar olarak bilinir. Ayrıca ilkel bir veri türünü saran bir sınıf da oluşturabiliriz. Böylece Java'da özel bir sarmalayıcı sınıfı oluşturabiliriz.

 //Creating the custom wrapper class class Javatpoint{ private int i; Javatpoint(){} Javatpoint(int i){ this.i=i; } public int getValue(){ return i; } public void setValue(int i){ this.i=i; } @Override public String toString() { return Integer.toString(i); } } //Testing the custom wrapper class public class TestJavatpoint{ public static void main(String[] args){ Javatpoint j=new Javatpoint(10); System.out.println(j); }} 

Çıktı:

 10