29 Aralık 2014 Pazartesi

Wrapper Classes Metod ve Özellikleri

        Bugünkü konumuz yine Wrapper Classes olacak. Bir önceki yazımızda nedir ne değildir sorusunun cevabını aramıştık. Bugün ise biraz daha işin derinlerine girmeyi düşünüyoruz. Önceki yazımıza erişmek isterseniz buraya tıklayınız. Peki nedir bu metodlar:

valueOf()   String ---> Wrapper    Örn : String-> Long
xxxValue()  Wrapper ---> primitive  Örn ; Long->long
parseXXX()  String ---> primitive  Örn; String-> long

Şimdi burada ne demek istediğimizi kodlarla açıklamaya çalışacağız. O zaman konunun daha iyi oturacağını temenni ederiz. Sizi şimdi kodlarla baş başa bırakalım.

public class Wripper3lu {
    public static void main(String[] args) {
        //ValueOf metodu Kullanımı
        //aynı işlemleri diğerleri için de yapabiliriz
        Float f1 = Float.valueOf("10.5"); // Sting->Wrapper
Float f2 = Float.valueOf("10.5f");
Float f3 = Float.valueOf(10);    //float->Float| primative->Wrapper
Float f4 = Float.valueOf("10");
System.out.println(f1 + " " + f2 + " " + f3 + " " + f4 );
     
        //xxxValue metodu Kullanımı
        Integer i1 = new Integer(100);
        short s = i1.byteValue();
short s2 = i1.shortValue();
// short s3 = i1.intValue(); // int>short olduğundan error
// short s4= i1.longValue(); //long>short olduğundan error
System.out.println(s + " " + s2);
     
      long lo1 = i1.byteValue();
long lo2 = i1.shortValue();
long lo3 = i1.intValue();
long lo4 = i1.longValue();
        //dikkat edin long'ta hiç hata olmuyor.Çünkü veri kaybı söz konusu değil
System.out.println(lo1 + " " + lo2 + " " + lo3 + " " + lo4);
     
        //ParseXXX Metodu Kullanımı
        byte b1 = Byte.parseByte("10");
//byte b2 = Short.parseShort("10"); 
        //bunlarla ilgili bol bol örnek yapmak faydanıza olacaktır
        //Çünkü biz tek tek yazsak da sizin kodlamanızın önemi apayrıdır
     
float f11 = Byte.parseByte("10");
float f21 = Short.parseShort("10");
float f31 = Integer.parseInt("10");
float f41 = Long.parseLong("10");
//float f51 = Double.parseDouble("10"); double>float error
        System.out.println(f1 + " " + f2 + " " + f3 + " " + f4);  
    }
}

       Yukarıda metodları elimizden geldiğince yorum satırlarıyla anlatmaya çalıştık , fakat dediğimiz gibi örneklerle konuyu daha iyi pekiştirebilirsiniz diye düşünüyoruz. Şimdi de bazı özelliklere bakalım. Boxing, autoboxing, unboxing , autounboxing gibi bazı özelliklere de kısaaca göz atıp yazımızı tamamlayalım.

        Integer boxing = Integer.valueOf(10);
        Integer autoboxing =10;
        int unboxing = boxing.intValue();
        int autounboxing=10;

Değişken isimlerini barındırdığı özellik ile yazdık. Belki de bildiğimiz şeylerdir, fakat isim olarak nedir ne değildir bilmiyorduk, bununla birlikte yazımızı burada son veriyoruz. İyi çalışmalar

Kaynak
http://www.injavawetrust.com/pure-java-35-wrapper-03/
http://www.injavawetrust.com/pure-java-34-wrapper-classes-02/




Hiç yorum yok:

Yorum Gönder