Java'da Wrapper Class Kullanımı
Merhaba! Uzun bir aradan sonra blog yazılarıma Java ile devam etme kararı aldım. İlk olarak Java’da oldukça sık kullanılan Wrapper (Sarmalayan) Class yapısını anlatmaya karar verdim. Hemen kolları sıvayalım.
Wrapper Class diye ifade ettiğimiz Class yapısı, aslında temel olarak bize primitive typeların farklı şekilde kullanımını sağlıyor. Aşağıda Java’da olan primitive typeları görüntüleyebilirsiniz (Burada primitive type kavramını bildiğinizi varsayıyorum):
Primitive Data Type | Wrapper Class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
Neden ihtiyacımız var?
Aşağıdaki sebeplerden dolayı bir Wrapper Class’a ihtiyaç duyabiliriz:
- Primitive veri tiplerini bir obje olarak kullanmak istersek
- java.util package içinde sadece sınıflarla uygulama yapabiliriz ve biz de wrapper classları bu şekilde kullanabiliriz
- ArrayList ve Vector gibi veri yapıları için wrapper classlar aracılığıyla primitive typeları kullanabiliriz.
- Multithreading senkronizasyonu için gerekli bir obje oluşturma amaçlı kullanabiliriz.
Şimdi örnek bir kullanıma bakalım:
src dizinimin altındaki Main java dosyama aşağıdaki kod bloğunu ekliyorum:
public class Main {
public static void main(String [] args)
{
int number = 46;
String string_degisken = Integer.toString(number);
System.out.println("Sayı int tipinde: "+ number);
System.out.println("Sayı string tipinde: "+ string_degisken);
}
}
Yukarıdaki kod bize aşağıdaki çıktıyı verecektir:
Sayı int tipinde: 46
Sayı string tipinde: 46
Bu örnekte görmüş olduğunuz üzere, number isimli int primitive type bir değişken oluşturdum ve değer verdim. İkinci satırda ise Integer wrapper classını kullandım ve number değişkenini bu wrapper classına atamış oldum. Daha sonrasında ise bu Integer wrapper classının toString methodunu kullanarak ekrana bir string bastırmış oldum. Özetle sonuçtaki ilk satır int tipindeki number değişkeni olan 46’yı, ikinci satır ise string tipindeki 46’yı ekrana yazdırmış oldu. Bu örneği Integer wrapper classına ait diğer tüm methodları da kullanarak varyasyonlandırabiliriz. İyi kodlamalar!