A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wmc1994 中级黑马   /  2016-8-10 22:09  /  389 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                Student stu1 = new Student();
                stu1.name = "小明";
                Student stu2 = new Student();
                stu2.name = "小明";
                Student stu3 = new Student();
                 stu3 =stu1;
                System.out.println(stu1 == stu2);
                System.out.println(stu1 == stu3);
                为什么结果输出第一个为false;
                                      第二个为true;
               

3 个回复

正序浏览
life写实 发表于 2016-8-10 23:03
第一个false就不用多说了吧。。new了俩个对象肯定不是同一地址值啊,第二个:stu3被重新赋值了啊。。他就等 ...

只是想测试==是否测试的是地址还是值相等
回复 使用道具 举报
第一个false就不用多说了吧。。new了俩个对象肯定不是同一地址值啊,第二个:stu3被重新赋值了啊。。他就等于stu1啊,兄弟,你故意的吧
回复 使用道具 举报
stu1和stu2指向的是不同的对象,stu1和stu3指向的是同一个对象。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马