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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

看程序写结果
               
                Integer i1 = new Integer(97);
                Integer i2 = new Integer(97);
                System.out.println(i1 == i2);
                System.out.println(i1.equals(i2));
                System.out.println("-----------");
       
                Integer i3 = new Integer(197);
                Integer i4 = new Integer(197);
                System.out.println(i3 == i4);
                System.out.println(i3.equals(i4));
                System.out.println("-----------");
       
                Integer i5 = 97;
                Integer i6 = 97;
                System.out.println(i5 == i6);
                System.out.println(i5.equals(i6));
                System.out.println("-----------");
       
                Integer i7 = 197;
                Integer i8 = 197;
                System.out.println(i7 == i8);
                System.out.println(i7.equals(i8));

5 个回复

倒序浏览
。。。。哥们儿。你是为了刷帖吧。。。。。

点评

不对呀,应该是刷帖的积分,然后悬赏给别人,好深的套路  发表于 2016-6-2 17:08
回复 使用道具 举报

==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
回复 使用道具 举报
相同点:两者都具有比较功能,返回值类型为boolean
不同点,==既可以比较基本数据类型,也可以比较引用数据类型,比较基本数据类型时比较的是值,比较引用数据类型时比较的是地址值;
equals只能比较引用数据类型,底层采用的是==,一般都会重写hashcode方法,不然比较没有意义
回复 使用道具 举报
刷帖的把!这么简单得东西书上有!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马