您的位置:首页 > 编程语言 > Java开发

《黑马程序员》 jdk 1.5的新特性:自动装箱与拆箱练习及享元设计模式

2014-03-07 15:54 204 查看
------- android培训java培训、期待与您交流! ----------
/**
* jdk 1.5的新特性:自动装箱与拆箱练习及享元设计模式
*
* @param args
*/
public static void main(String[] args) {
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2);
// 因为它们不是同一个对象 因为s1和s2各代表一个对象
// false //这里比较的是地址值它们的地址值不同所以不是同一个对象
Integer i1 = 13;
Integer i2 = 13;
System.out.println(i1 == i2);
// 它们是同一个对象
// true因为它们是同一个对象所以结果为真

Integer is1=135;
Integer is2=135;
System.out.println(is1==is2);
//它们是否是同一个对象
//false
//一个基本类型的int值在封装成引用类型的Integer的时候,因为int类型的取值范围是:
//-128~127之间,所以它在自动装箱之后,会把它给缓存,保存起来。当下一次再有int
//类型的数据需要封装的时候,会看缓存中是否有缓存的对象,如果有就取出来复用,这样
//可以减少对象的创建个数。这是一种设计模式,即flyweight享元设计模式。
//即当有很多小对象时,把相同的部分抽取出来做成一个新的对象,另外还有一些不同的部分,
//把不同的部分做为方法的参数,做为对象的外部状态。相同的部分做为对象的属性。

}
}


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐