码迷,mamicode.com
首页 > 其他好文 > 详细

==和equals的区别

时间:2017-09-30 15:17:09      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:否则   原始数据类型   object   继承   str   基本数据类型   integer   ring   long   

1.如果是基本数据类型:也就是原始数据类型。byte,short,int,long,float,double,boolean。他们之间的比较是使用(==)比较,比较的是他们的值。基本数据类型是值类型,都是存在栈中的。

2.如果是引用数据类型:当他们使用==进行比较的是他们在内存中存放地址,所以除非是同一个new出来的对象,他们比较结果为true,否则是false,java中所有的类都是继承Object这个基类的,在Object中定义了一个equals方法,这个方法的初始行为是比较对象的内存地址,如果看源码,Object的equals是用==判断相等的,但是在一些类库存中的这个方法被覆盖掉了,如string,integer,Date这些类中体.有他们自己的实现,而不是比较类在队内存的地址了。

==和equals的区别

标签:否则   原始数据类型   object   继承   str   基本数据类型   integer   ring   long   

原文地址:http://www.cnblogs.com/youdiaodaxue16/p/7614715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!