欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java包装类和对应基本数据类型的自动拆箱和自动装箱

程序员文章站 2024-01-10 09:42:04
...

  我们都知道Java的JDK更新到5.0后,针对包装类和基本数据类型的处理有了新的方式,也就是自动化

//自动装箱:基本数据类型————包装类
int num2 = 10;
Integer in1 = num2;//自动装箱
//以前 Integer in1 = Integer.valueOf(num2);
boolean b1 = true;
Boolean b2 = b1;//自动装箱
//以前Boolean b2 = Boolean.valueOf(b1);

int num3 = in1;//自动拆箱
//以前int num3 = in1.intValue();

//而在String与其他类型之间转换也方便了
//String类型--->基本数据类型、包装类:调用包装类的parseXxx(String s)
String str = "123";
int num4 = Integer.parseInt(str);

//基本数据类型、包装类-->String类型:调用String的valueOf(Xxx xxx)
String st=String.valueOf(num2);
//注意点
Integer i =new Integer(1);Integer j = new Integer(1);
System.out.println(i == j); //false
Integer m = 1;
Integer n = 1;
System.out.println(m == n); //true
//这里的原理
//Integer内部定义了IntegerCache结构,IntegerCache中定义了Integer[],
//保存了从-128~127范围的整数。如果我们使用自动装箱的方式,给Integer赋值的范围在//-128~127范围内时,可以直接使用数组中的元素,不用再去new了。
Integer x = 128;
Integer y = 128;
System.out.println(x == y); //false