/**
* 自动装箱:
* Integer num1 = 12;
* 自动拆箱:
* System.out.println(num1 + 12);
* 基本数据类型的对象缓存:
* Integer num1 = 12;
* Integer num2 = 12; 这块相等,<=127都是真的
* System.out.println(num1 == num2);
* Integer num3 = 129; 这块不相等,因为是对象
* Integer num4 = 129;
* System.out.println(num3 == num4);
* Integer num5 = Integer.valueOf(12);
* Integer num6 = Integer.valueOf(12) ; 这块的道理同上
* System.out.println(num5 == num6);
* @author partner4java
*
*/
public class HelloWorld1 {
public static void main(String[] args) {
//一个字节以内(享元模式--flyweight)
Integer int1 = 12;
Integer int2 = 12;
System.out.println("int1 == int2:" + (int1 == int2));
//一个字节以外
Integer int3 = 128;
Integer int4 = 128;
System.out.println("int3 == int4:" + (int3 == int4));
Integer int5 = new Integer(12);
Integer int6 = new Integer(12);
System.out.println("int5 == int6:" + (int5 == int6));
Integer int7 = Integer.valueOf(12);
Integer int8 = Integer.valueOf(12);
System.out.println("int7 == int8:" + (int7 == int8));
String str1 = "abc";
String str2 = "abc";
System.out.println("str1 == str2:" + (str1 == str2));
String str3 = new String("abc");
String str4 = new String("abc");
System.out.println("str3 == str4:" + (str3 == str4));
// 后台打印:
// int1 == int2:true
// int3 == int4:false
// int5 == int6:false
// int7 == int8:true
// str1 == str2:true
// str3 == str4:false
}
}
基本数据类型的自动拆箱与装箱
最新推荐文章于 2024-08-12 15:45:48 发布