基本数据类型所对应的引用数据类型
Object类可统一所有数据,包装类的默认值时null
(基本数据类型时存在栈中,引用数据类型存在堆中)
类型转换与装箱、拆箱
8种包装类 提供不同类型间的转换方式:
-
Number父类中提供的6个共性方法
public class Dome1 {
public static void main(String[] args) {
//类型转换:装箱,基本类型转成引用类型的过程
int num1=100;
//使用Integer类创建对象
Integer integer =new Integer(num1);//装箱
Integer integer1 =Integer.valueOf(num1);
System.out.println(integer);
System.out.println(integer1);
//类型转换:拆箱, 引用类型转成基本类型的过程
Integer integer2=new Integer(1000);
int num2=integer2.intValue();
System.out.println(num2);
//自动装拆箱
int age = 10;
//自动装箱
Integer integer3 =age;
System.out.println(integer3);
//自动拆箱
int age1 = integer3;
System.out.println(age1);
}
}
-
parpseXXX()静态方法
//基本类型和字符串之间的转换 //1.基本类型转成字符串 int n1 = 1999; //使用+号 String str1 = n1 +""; //使用Integer中的toString 方法 String str2 =Integer.toString(n1); System.out.println(str1); System.out.println(str2); //2.字符串转成基本类型 String str3="100000"; //使用Integer.parseXXX()方法 int n2 = Integer.parseInt(str3); System.out.println(n2); //boolean 字符串形式转成基本类型,“true”————》true,非“true”————》false String str4= "true"; boolean n3=Boolean.parseBoolean(str4); System.out.println(n3);
value()静态方法
注意:需要保证类型兼容,否则抛出NumberFormatException异常。
整数缓冲区
Java预先创建了256个常用的整数包装类型对象
在实际应用当中,堆已创建的对象进行复用
public class Exercise {
public static void main(String[] args) {
//面试题
Integer integer1=new Integer(100);
Integer integer2=new Integer(100);
System.out.println(integer1==integer2);
//整数缓冲区:-128——127之间,由一个在堆中的数组,长度为256
// 值在-128——127之间就指向同一个对象,超出的new,创建一个新的对象
//方法是Integer.valueOf();
Integer integer3 =100;
Integer integer4 =100;
System.out.println(integer3==integer4);//true
//创建了一个新的new(超过了127)
Integer integer5 =200;
Integer integer6 =200;
System.out.println(integer5==integer6);//false
}
}