黑马程序员技术交流社区
标题:
为什么true
[打印本页]
作者:
孙宁洋
时间:
2013-6-5 14:31
标题:
为什么true
Integer i1=3;
Integer i2=3;
System.out.println(i1==i2);
结果为什么ture
作者:
刘晓GGG
时间:
2013-6-5 14:37
这就是传说中的享元模式。对于这种基本类型数据要装箱成包装数据类型时,-128-127(1byte)之间的这些数,就将这个区间的数缓存起来,因为这些比较小的数用的比较多。下次需要用的时候直接去常量池中去拿,这样就可以节省内存空间。属于23种设计模式中的一种,比较简单。
作者:
Renica
时间:
2013-6-5 14:53
为了节约内存,当数据在-128~127之间时,他们都指向同一个地址。这个毕老师的视频里有讲的。
作者:
杨增坤
时间:
2013-6-11 23:41
==是比较的地址,因为它们指向的是同一个地址,所以是相等的,加入是String定义的两个字符串,那么它们用==来比较就是false,因为她们是各自占一个内存地址,如果用equals来比较,那么就是true,因为是比较的是内容,不是地址!希望对你们有所帮助!
作者:
Heart
时间:
2013-6-12 18:05
这就是所谓的
享元模式
。对于这种基本类型数据要装箱成包装数据类型时,-128-127(1byte)之间的这些数,就将这个区间的数缓存起来,因为这些比较小的数用的比较多。下次需要用的时候直接去常量池中去拿,这样就可以节省内存空间。属于23种设计模式中的一种,比较简单。
作者:
oxf974025918
时间:
2013-6-20 00:38
毕老师视频中解释了,在-128~127都是true没在这个间就是false
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2