包装类
基本数据类型,使用起来非常的方便,但是没有对应的方法来操作这些基本类型的数据,可以使用一个类,把基本数据类型封装起来,在类中定义一些方法,这个类叫做包装类,我们可以使用类中的方法来操作这些基本类型的数据;
装箱和拆箱
基本数据类型和对应的包装类对象之间,来回转换的过程
装箱:从基本数据类型转换为对应的包装类对象
以Integer为例:
构造方法:(已过时)
Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
Integer(String s) 构建了一个新分配的 Integer表示 int值表示的 String参数
静态方法:
static Integer valueOf(int i) 返回一个 Integer实例表示指定的 int价值。
static Integer valueOf(String s) 返回一个 Integer对象持有指定的 String价值
拆箱:从包装类对象转换为对应的基本类型
成员方法:
int intValue() 以int类型返回该integer类型。
/**
* Integer的装箱和拆箱
* 装箱:
* 把基本类型的数据变成包装类
* 构造方法:
* Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
* Integer(String s) 构建了一个新分配的 Integer表示 int值表示的 String参数
* 静态方法:
* static Integer valueOf(int i) 返回一个 Integer实例表示指定的 int价值。
* static Integer valueOf(String s) 返回一个 Integer对象持有指定的 String价值。
*
* 拆箱:
* 在包装类中取出基本数据类型的数据
* 成员方法:
* int intValue() 以int类型返回该integer类型
* @author Administrator
* @date 2020-10-15 下午 16:30
*/
public class Demo01Integer {
public static void main(String[] args) {
demo01();
demo02();
}
/**
* 拆箱:
*/
private static void demo02() {
Integer number = new Integer(9390);
int i = number.intValue();
System.out.println(i);
System.out.println();
}
/**
* 装箱:
* Integer(int value) 构建了一个新分配的 Integer表示指定的 int价值。
* Integer(String s) 构建了一个新分配的 Integer表示 int值表示的 String参数
*/
private static void demo01() {
//构造方法 已过时
Integer number = new Integer(9390);
Integer numberOne = new Integer("13456");
System.out.println(number);
System.out.println(numberOne);
System.out.println();
//静态方法
Integer valueOne = Integer.valueOf(1010);
// Integer value = Integer.valueOf("a"); NumberFormatException 数字格式异常 只能转换对应类型
Integer valueTwo = Integer.valueOf("9436");
System.out.println(valueOne);
System.out.println(valueTwo);
System.out.println();
}
}
9390
13456
1010
9436
9390
自动装箱和自动拆箱
由于我们要经常做基本数据类型和包装类之间的转换,从java 5 (JDK 1.5)开始,基本数据类型的装箱和拆箱操作可以自动完成。
Integer i = 4 相当于 Integer i = Integer.valueOf(4);
i= i+5; 相当于 i.Integer.valueOf()+5; 加法运算完之后,再次装箱,把基本数值转换成对象;