for java beginner 4 - autoboxing unboxing - flyweight pattern

java 3

1.5 new feature - auto boxing , unboxing
就是那8 个基本数据类型 的东西

Integer obj = 3;        //这个叫 boxing 记得就好,对象都在箱子里
System.out.println(obj + 12); //这个叫 拆箱 , 变基本数据类型

有个好玩的东西
Integer i1 = 14;
Integer i2 = 14;
System.out.println(i1 == i2 );  //★这个是同一个的 true

Integer i1 = 144;
Integer i2 = 144;
System.out.println(i1 == i2 );  //★这个不是同一个的 false

如果数字在 -128 - 127 里 ,会缓存起来 想想String就可以了..
超过了JDK就不管了,管不了了..
★这就是传说中的 "享元模式" "flyweight pattern"

再看一下

Integer num1 = Integer.valueOf(11);
Integer num2 = Integer.valueOf(11);
//呵呵,这不是自动了,我call的method
还是 flyweight pattern
应该明白我意思
num1 ,num2 is one thing,

Integer num1 = Integer.valueOf(211);
Integer num2 = Integer.valueOf(211);
num1 ,num2 is two thing,

你可能感兴趣的:(java,jdk)