包装类:对基本数据类型的包装,包装成引用数据类型
基本数据类型: byte short int long float double char boolean
Byte Short Integer Long Float Double Character Boolean
- 7种包装类(Character除外)都有接收字符串类型的构造方法
- Boolean 字符串参数如果不是true,比如abc,则默认为false
数据之间的转换
1 // String --> int 2 int a = Integer.parseInt("123"); 3 // int--> Integer 4 Integer a1 = Integer.valueOf(123); 5 // String --> Integer 6 Integer a2 = Integer.valueOf("123"); 7 // Integer --> int 8 int a3 = i1.intValue(); 9 // Integer -- > String 10 String s =i1.toString();
自动 装箱/拆箱
1 Integer i = 10 ; 2 int i2 = new Integer(10) ; 3 4 method(123);// 自动把123转成Integer类型123
面试题:
1 Integer i1 = 1000 ; 2 Integer i2 = 1000 ; 3 Integer i3 = 10 ; 4 Integer i4 = 10 ; 5 System.out.println(i1 == i2); // false 6 System.out.println(i3== i4); // true
Integer 在类加载的时候会先在静态区中初始化好-128 127 之间的数值(由静态类IntegerCache 去实现),如果在这个范围则直接重复使用,否则在堆中new一个Integer
10:true 由于10在范围内,所以使用共用静态区中的Integer
1000:false 由于1000在范围外,所以在堆中重新new一个Integer