黑马程序员技术交流社区

标题: "=="和equals方法的区别 [打印本页]

作者: 洛漠O_o    时间: 2014-8-8 08:31
标题: "=="和equals方法的区别
自己总结的,。带代码……
  1. public static void main(String[] args) {
  2.                 // 基本类型:short、long、int、double、float、char、byte、boolean
  3.                 int i = 0, j = 0;
  4.                 /* 1.基本类型只有"=="方法,没有equals方法 */
  5.                 System.out.println(i == j);
  6.                 // 基本类型对应的对象有equals方法
  7.                 /* 2."=="比较的是内存地址;equals比较的是对应内存中存的值 */
  8.                 System.out.println(new Integer(1) == new Integer(1));// 结果为false,因为比较的是内存中的地址
  9.                 System.out.println(new Integer(1).equals(new Integer(1)));// 结果为true,因为比较的是内存中的值
  10.                
  11.                 System.out.println(new Test01().equals(11));
  12.         }

  13.         /* 3.重写equals方法 */
  14.         public boolean equals(Object obj) {
  15.                 /*
  16.                  * 这个里面可以有各种操作
  17.                  */
  18.                 System.out.println("重写方法");
  19.                 return false;
  20.         }
复制代码




作者: 席杰    时间: 2014-8-8 09:28
学习了,谢谢楼主的分享!
作者: Justfeeling    时间: 2014-8-8 11:00
谢谢搂主分享
作者: yuli2039    时间: 2014-8-8 12:32
谢谢楼主的分享!
作者: 奋斗2014    时间: 2014-8-8 12:47
==比较的是整个对象,equals 比较的是对象里的内容或者说元素。
作者: 如果有梦    时间: 2014-8-8 12:53
说的还不够具体
作者: 小洁呵呵    时间: 2014-8-8 12:56
。。。。。。。==比较的是不是同一个对象,equals可以覆盖我想比较啥我就比较啥。。。
作者: 微微微笑    时间: 2014-8-9 20:37
==与equals的区别
相同点:==与equals在最初始的定义是一样的,在Object中都是比较两个对象的地址是否相同
==比较基本类型数据,就是看是否相同
比较引用类型对象,看对象的引用地址是否相同
equals()在其他类中都被重写用来实现自己的“相等”逻辑
作者: 挥斥方遒    时间: 2014-8-9 21:04
我怎么看不到楼主发的东西
作者: lijiang    时间: 2014-8-9 21:26
这个不是活动的第1题吗。。。。
作者: 刘小记.    时间: 2014-8-9 21:32
嗯. 是这样




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