Pure Java – 34 Wrapper Classes – 02

Merhaba Arkadaslar,
Bir onceki yazida Wrapper siniflari incelemistik. Bu yazida Wrapper siniflara devam edecegiz ve wrapper siniflarda bulunan su metotlari inceleyecegiz.

  • valueof()
  • xxxValue()
  • parseXXX()

valueOf()
Wrapper siniflarda bulunan , static valueOf() metodunun bir kactane overloaded versiyonu vardir. valueOf() metodu String degeri veya primitive degeri Wrapper degere donusturur.

public class Test {

	public static void main(String[] args) {
		Integer i1 = Integer.valueOf("100"); // String literali Integer a   donusturduk
		Integer i2 = Integer.valueOf(100);  // primitive degeri Integer a  donusturduk.
		Integer i3 = Integer.valueOf("100", 2);
		// bu overloaded versiyonda ikinci parametre radix(taban)  degeridir.

		// Integer i4 = Integer.valueOf("100.5"); // j
		// java.lang.NumberFormatException firlatir.

		System.out.println("Integer Test");
		System.out.println(i1 + " " + i2 + " " + i3);

		Float f1 = Float.valueOf("10.5");
		Float f2 = Float.valueOf("10.5f");
		Float f3 = Float.valueOf(10);
		Float f4 = Float.valueOf("10");

		System.out.println("Float Test");
		System.out.println(f1 + " " + f2 + " " + f3 + " " + f4 + " " + f4);

		Boolean b1 = Boolean.valueOf("tRue");
		Boolean b2 = Boolean.valueOf(true);
		Boolean b3 = Boolean.valueOf("injavawetrust");

		System.out.println("Boolean Test");
		System.out.println(b1 + " " + b2 + " " + b3);

		Long lo1 = Long.valueOf(10);
		Long lo2 = Long.valueOf("10");
		Long lo3 = Long.valueOf("100", 3);

		System.out.println("Long Test");
		System.out.println(lo1 + " " + lo2 + " " + lo3);
	}
}

Bazi aciklamalari kod icerisinde aciklamaya calistim. Bu konuda bol miktar ornek kod yazarak incelemelerde bulunmanizi oneririm.

xxxValue()
Wrapper tiplerden primitive tiplere donus bu metot ile yapilabilir.

public class Test2 {
	public static void main(String[] args) {
		Integer i1 = new Integer(100);

		byte b = i1.byteValue();
		// byte b2 = i1.shortValue(); //compile error
		// byte b3= i1.intValue(); //compile error

		System.out.println("byte Test");
		System.out.println(b);

		System.out.println("short test");
		short s = i1.byteValue();
		short s2 = i1.shortValue();
		// short s3 = i1.intValue(); // compiler error
		// short s4= i1.longValue(); //compiler error
		System.out.println(s + " " + s2);

		System.out.println("int test");
		int i2 = i1.byteValue();
		int i3 = i1.shortValue();
		int i4 = i1.intValue();
		// int i5 = i1.longValue();
		System.out.println(i2 + " " + i3 + " " + i4);

		System.out.println("long test");
		long lo1 = i1.byteValue();
		long lo2 = i1.shortValue();
		long lo3 = i1.intValue();
		long lo4 = i1.longValue();
		System.out.println(lo1 + " " + lo2 + " " + lo3 + " " + lo4);

		System.out.println("float test");
		float f1 = i1.byteValue();
		float f2 = i1.shortValue();
		float f3 = i1.intValue();
		float f4 = i1.longValue();
		// float f5=i1.doubleValue();
		System.out.println(f1+" "+f2+" "+f3+" "+f4);

	}
}

Benzer sekilde bol miktar test kodu yazarak incelemenizi oneririm.

parseXXX()
parseXXX metodu String degeri primitive degere donusturur.

public class Test3 {

	public static void main(String[] args) {

		byte b1 = Byte.parseByte("10");
		// byte b2 = Short.parseShort("10"); //compiler error

		System.out.println("byte test");
		System.out.println(b1);

		System.out.println("short test");
		short s1 = Byte.parseByte("10");
		short s2 = Short.parseShort("10");
		// short s3= Integer.parseInt("10"); //compiler error
		System.out.println(s1 + " " + s2);

		System.out.println("int test");
		int i1 = Byte.parseByte("10");
		int i2 = Short.parseShort("10");
		int i3 = Integer.parseInt("10");
		// int i4 = Long.parseLong("10");

		System.out.println(i1 + " " + i2 + " " + i3);

		System.out.println("float test");
		float f1 = Byte.parseByte("10");
		float f2 = Short.parseShort("10");
		float f3 = Integer.parseInt("10");
		float f4 = Long.parseLong("10");
		//float f5 = Double.parseDouble("10");

		System.out.println(f1 + " " + f2 + " " + f3 + " " + f4);

	}
}

Ozetleyecek olursak ;

xxxValue()  Wrapper ---> primitive
parseXXX()  String ---> primitive
valueOf()   String ---> Wrapper

Oneri: Bu konuyu daha iyi anlayabilmek icin bol miktar kod yazmak faydali olacaktir.

Yazimi burada sonlandiriyorum.

Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
OCP, Java SE 6 Programmer
injavawetrust

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *