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.