java基本数据类型之包装类
1. 下面是8中基本数据类型对应的包装类
int ---- Integer
byte ---- Byte
short ---- Short
char ---- Character
long ---- Long
boolean ---- Boolean
double ---- Double
float ---- Float
2.基本数据类型中的转换
1)int ----》String
1 //int ==> String 2 int i = 12; 3 String s1 = i + ""; //1.整型+空串 推荐用 4 5 String s2 = String.valueOf(i); //2. String直接调用静态方法valueOf() 推荐用 6 7 Integer i1 = new Integer(i); 8 String s3 = i1.toString(); //3.先转换成Integer,再调用toString()方法 9 10 String s4 = Integer.toString(i); //4.直接用Integer调用其静态方法toString()
1 //int ==> String 2 int i = 12; 3 String s1 = i + ""; //1.整型+空串 推荐用 4 5 String s2 = String.valueOf(i); //2. String直接调用静态方法valueOf() 推荐用 6 7 Integer i1 = new Integer(i); 8 String s3 = i1.toString(); //3.先转换成Integer,再调用toString()方法 9 10
2)String ---> int
1 //String ==> int 被转的字符串必须是数字类型的字符串,否则会报错 2 String s = "102"; 3 int i6 = Integer.parseInt(s); //1.直接用Integer调用静态方法parseInt()方法 推荐用 4 5 Integer i5 = new Integer(s); //2.先将String转换成Integer,然后在调用intValue()方法 6 int i7 = i5.intValue();
除了char的包装类Character没有parseXXX()方法外,其他包装类均有类似的转换方法;
3.JDK新特性,自动拆装箱
1 Integer i = 100; 自动装箱,把基本数据类型转换成对象
2 int i2 = i + 200; 自动拆箱,把对象转换成基本数据类型
4.面试题
1 // 面试题: 2 Integer i10 = 127; 3 Integer i2 =127; 4 System.out.println(i10 == i2); //true 5 System.out.println(i10.equals(i2)); //true 6 7 Integer i3 = 128; 8 Integer i4 = 128; 9 System.out.println(i3 == i4); //false 10 System.out.println(i3.equals(i4)); //true 11 12 //这是因为 -128 到 127 是byte的取值范围,如果在这个取值范围内,自动装箱不会重新创建对象,会在常量池中取值,
如果超过了这个取值范围,则会重新进行创建新的对象