黑马程序员技术交流社区

标题: 结果是 false false 为什么啊 [打印本页]

作者: 青争心    时间: 2016-3-25 22:25
标题: 结果是 false false 为什么啊

       
                Integer i7 = 197;
                Integer i8 = 197;
                System.out.println(i7 == i8);         
                System.out.println(i7.equals(i8));  
总感觉 i7==i8  为什么是false         
作者: 潘耿威    时间: 2016-3-25 22:34
本帖最后由 潘耿威 于 2016-3-25 22:36 编辑

equals是比较值,
==是比较值和地址
i7 i8储存的值地址不同  false

作者: zhangyibiao    时间: 2016-3-25 22:42
integer是引用类型的,你用==比较的是地址,,equals,先比较hashcode在比较equals
作者: fighting2016    时间: 2016-3-25 22:49
学习了。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2