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
, float
karşı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ış instanceof
oluşturulan nesneler arasında olup olmadığını kontrol etmek operatörü Integer
veya Double
tü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, Wrapper
sı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 Integer
ve Double
ilkel 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();
- 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.