Java Sarmalayıcı Sınıfı (Örneklerle)

Bu öğreticide, örnekler yardımıyla Java Wrapper sınıfını öğreneceğiz.

Java sarıcı sınıflar ilkel türde (dönüştürmek için kullanılan int, char, floatkarşılık gelen nesneler, vb).

8 ilkel türün her biri karşılık gelen sarmalayıcı sınıflarına sahiptir.

İlkel Tür Sarmalayıcı Sınıfı
byte Byte
boolean Boolean
char Character
double Double
float Float
int Integer
long Long
short Short

İlkel Türü Sarmalayıcı Nesnelere Dönüştür

valueOf()İlkel türleri karşılık gelen nesnelere dönüştürmek için yöntemi de kullanabiliriz .

Örnek 1: Sarmalayıcı Nesnelere İlkel Türler

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

Çıktı

Bir Tamsayı nesnesi oluşturulur. Double nesnesi oluşturulur.

Yukarıdaki örnekte, valueOf()ilkel türleri nesnelere dönüştürmek için yöntemi kullandık .

Burada, kullanmış instanceofoluşturulan nesneler arasında olup olmadığını kontrol etmek operatörü Integerveya Doubletürü ya da değil.

Bununla birlikte, Java derleyicisi ilkel türleri doğrudan karşılık gelen nesnelere dönüştürebilir. Örneğin,

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

Bu işlem otomatik kutulama olarak bilinir . Daha fazla bilgi edinmek için Java otomatik kutulama ve kutudan çıkarma sayfasını ziyaret edin.

Not : Ayrıca, Wrappersınıf yapıcılarını kullanarak ilkel türleri sarmalayıcı nesnelere dönüştürebiliriz . Ancak yapıcıların kullanımı Java 9'dan sonra atılır.

Nesneleri İlkel Türlere Sarmalayıcı

Temel tür nesneleri dönüştürmek için, karşılık gelen bir değer yöntemlerini kullanabilir ( intValue(), doubleValue()vb), her bir sargı sınıfta bulunan.

Örnek 2: Nesneleri İlkel Türlere Sarmalayıcı

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

Çıktı

 A'nın değeri: 23 b'nin değeri: 5.55 

Yukarıdaki örnekte, kullanmış intValue()ve doubleValue()dönüştürme metodu Integerve Doubleilkel türde karşılık gelen nesneler.

Ancak, Java derleyicisi nesneleri otomatik olarak karşılık gelen ilkel türlere dönüştürebilir. Örneğin,

 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; 

Bu işlem kutudan çıkarma olarak bilinir . Daha fazla bilgi edinmek için Java otomatik kutulama ve kutudan çıkarma sayfasını ziyaret edin.

Sarmalayıcı Sınıflarının Avantajları

  • Java'da bazen ilkel veri türleri yerine nesneler kullanmamız gerekebilir. Örneğin koleksiyonlarla çalışırken.
     // error ArrayList list = new ArrayList(); // runs perfectly ArrayList list = new ArrayList();
    Bu gibi durumlarda, sarmalayıcı sınıfları, ilkel veri türlerini nesneler olarak kullanmamıza yardımcı olur.
  • Boş değeri sarmalayıcı nesnelerde saklayabiliriz. Örneğin,
      // generates an error int a = null; // runs perfectly Integer a = null; 

Not : İlkel türler, karşılık gelen nesnelerden daha etkilidir. Bu nedenle, verimlilik şart olduğunda, her zaman ilkel tipler önerilir.

Ilginç makaleler...