包装类
包装类就是对基本数据类型的包装。让基本数据类型也包装成对象,并且可以使用对象中的一些基础属性和方法,并且有些地方需要强制使用对象。比如容器和泛型,基本数据类型就无法使用,所以需要转成包装类。
用途:涉及到对象操作的时候方便使用。
包含每种基本数据类型的相关属性如大值、小值等,以及相关的操作方法(包装类对象、字符串之间提供转化)
包装类和基本类型之间存在自动装箱和自动拆箱操作,可以随时自动切换。
因为所有包装类方法属性都基本类似,所以以下用Integer来说明
构造方法
Integer obj=new Integer(int 参数);
构建Integer类,值为传入的参数值。也可以传入String 值。但只能时String的数字,内部调用parseInt()来将String转为数字,所以可能出现NumberFormatException异常。
1、自动装箱
装箱就是自动将基本数据类型转换为包装类型
Integer i = 10// 自动将int类型装箱成Integer类型,不需要调用构造器new对象。
也不用调用valueOf(int)方法。
拆箱就是自动将包装类型转成基本数据类型
int i =new Integer("100"); //自动转成int 。不需要使用intValue()方法。
2、常用方法
-
public int intValue() ,longValue(),floatValue()
用来生成对应基本类型的值。其实return时候加了个强转。
-
public static int parseInt(String s)
用来将字符串转成基本类型的值。*******
-
public boolean equals(Object obj)
对同一个类的两个对象进行比较的equals()方法,比较的是值。
TIPS
Integer中,一开始初始化就会实例[-128,127]的数字,而后赋值如果用的是自动装箱,那么他们的地址值是一样的,用的是同一个对象。
Integer int1 = 1;
Integer int2 =1;
System.out.println(int1==int2);//打印ture
int1 = 1000;
int2 =1000;
System.out.println(int1==int2);//打印false