黑马程序员技术交流社区
标题:
请教大神,能解释一下== 和 equals的区别吗
[打印本页]
作者:
ninini
时间:
2016-6-2 01:50
标题:
请教大神,能解释一下== 和 equals的区别吗
看程序写结果
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));
作者:
SkyBlack
时间:
2016-6-2 08:34
。。。。哥们儿。你是为了刷帖吧。。。。。
作者:
ljd
时间:
2016-6-2 10:35
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
作者:
Itheima_yuan
时间:
2016-6-2 10:39
相同点:两者都具有比较功能,返回值类型为boolean
不同点,==既可以比较基本数据类型,也可以比较引用数据类型,比较基本数据类型时比较的是值,比较引用数据类型时比较的是地址值;
equals只能比较引用数据类型,底层采用的是==,一般都会重写hashcode方法,不然比较没有意义
作者:
钱金磊
时间:
2016-6-2 16:14
刷帖的把!这么简单得东西书上有!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2