JAVA Day20
JAVA Day20
包装类

装箱和拆箱 (Integer类学习)
装箱:基本数据类型转换为包装类
拆箱:包装类转换为基本数据类型
package oop;
public class Number {
public static void main(String[] args) {
int num1 = 18;
//装箱:将基本类型num1转化为Integer类对象
Integer int1 = new Integer(num1);
//自动装箱
Integer int2 = num1;
//拆箱
Integer int3 = new Integer(1);//创建一个值为一的Integer类对象
int num2 = int3.intValue();
//自动拆箱
int num3 = int3;
//基本类型转化为字符串
String str1 = int1.toString(int1,16);
System.out.println(str1);
//字符串转化为基本类型
int int4 = Integer.parseInt(str1);
System.out.println(int4);
}
}
整数缓冲区
package oop;
public class Number2 {
public static void main(String[] args) {
Integer int1 = new Integer(100);
Integer int2 = new Integer(100);
System.out.println(int1 == int2);
Integer int3 = 100;
Integer int4 = 100;
System.out.println(int3 == int4);
Integer int5 = 200;
Integer int6 = 200;
System.out.println(int5 == int6);
/*运行结果:false true false
第一个因为新创建了对象,所以地址不同,所以false;
第二个因为整数缓冲区的范围为-128~127而这个范围内的数较为常用,Integer类中有cache数组中存储了数据-128~127,而100在这个范围内,故两个Integer类对象指向同一地址,所以返回结果为true;
第三个因为200不在这一范围内,所以创建了新的对象,地址不同,所以为false;
}
}
浙公网安备 33010602011771号