黑马程序员技术交流社区
标题:
求大神告知,java中equals和==的区别
[打印本页]
作者:
黑马黑马我来了
时间:
2015-9-22 16:38
标题:
求大神告知,java中equals和==的区别
求大神告知,java中equals和==的区别
作者:
643997890
时间:
2015-9-22 16:38
==比较的是对象的地址,也就是是否是同一个对象;
equal比较的是对象的值。
Integer r1 = new Integer(900);//定义r1整型对象
Integer r2 = new Integer(900);//定义r2整型对象
System.out.println(r1==r2);//返回false
System.out.println(r1.equal(r2));//返回true
作者:
longxuxu
时间:
2015-9-22 16:51
说的好详细,合适的发生
作者:
1975532882
时间:
2015-9-22 19:01
==比较的是对象的地址,也就是是否是同一个对象,包括数据类型和数值;
equal比较的是对象的值。
Integer r1 = new Integer(900);
Integer r2 = new Integer(“900”);
System.out.println(r1==r2);//返回false,因为对象900和“900”的地址(数据类型)不同,前者是整数型,后者是字符串。
System.out.println(r1.equal(r2));//返回true,因为对象900和“900”的数值相同。
作者:
菊花爆满山
时间:
2015-9-22 21:19
所有的类都继承Object, 所以所有的类也都有equals方法,如果没有复写该方法,等同于==,也就是比较的是对象的地址值,但是如果复写了,就完全不同了,例如String这个对象,复写后的功能是比较2个对象的内容是否相同。
作者:
zrc203
时间:
2015-9-29 21:07
对于==,如果作用于基本数据类型的变量,则直接比较其存储的 “值”是否相等;如果作用于引用类型的变量,则比较的是所指向的对象的地址
对于equals方法,注意:equals方法不能作用于基本数据类型的变量,如果没有对equals方法进行重写,则比较的是引用类型的变量所指向的对象的地址;诸如String、Date等类对equals方法进行了重写的话,比较的是所指向的对象的内容。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2