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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

java中的数据类型,可分为两类:
1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean
  他们之间的比较,应用双等号(==),比较的是他们的值。
2.复合数据类型(类)
  当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false。 JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。
  对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(==)进行比较的,所以比较后的结果跟双等号(==)的结果相同。

评分

参与人数 1技术分 +1 收起 理由
杨佳名 + 1

查看全部评分

19 个回复

倒序浏览
写的挺详细的 赞一个
回复 使用道具 举报
不错  写的挺好
回复 使用道具 举报
d342784178 发表于 2015-1-31 09:53
写的挺详细的 赞一个

感谢来访
回复 使用道具 举报
黑马LM 发表于 2015-1-31 10:57
不错  写的挺好

呵呵,多来逛逛,谢谢捧场
回复 使用道具 举报
我来混下技术分
回复 使用道具 举报

呵呵,欢迎常来,我太穷,要不就给你点
回复 使用道具 举报
这么理解就好了:
基本数据类型 双等肯定比值   数学学来的
引用数据类型就比地址了   
然后引用数据类型.equals自己重写的  想怎么重写怎么重写
回复 使用道具 举报
学习了            谢谢分享
回复 使用道具 举报
学习了,感谢楼主~~~~
回复 使用道具 举报
很好很好
回复 使用道具 举报
真不错!
回复 使用道具 举报
mark一下 方便后续查看
回复 使用道具 举报
很不错,赞一个
回复 使用道具 举报
不错  写的挺好
回复 使用道具 举报
总结的好到位
回复 使用道具 举报
赞一个,呵呵
回复 使用道具 举报
equals是可以重写的  想怎么重写怎么重写,但是常规上来说,都习惯使用equals来做为属性值得比较,不作为衡量同一个对象的标准
回复 使用道具 举报
边晓炎 来自手机 中级黑马 2015-2-1 00:22:49
19#
赞一个!!!
回复 使用道具 举报
写得挺好的~~
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马