`
wjjbfq
  • 浏览: 80233 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

equals 和==区别

阅读更多

什么时候该用equals 什么时候用== 呢?

 

总结:

1、==比较的是基本类型的变量或要比较两个引用变量是否相等(即是不是指向同一个对象)

例如Objet obj = new Object();变量obj是一个内存,new Object()是另一个内存,此时,变量obj所对应的内存中存储的数值就是对象占用的那块内存的首地址。

 

2、比较两个引用对象的值是否相等

   1、String型的对象 。string类重写了父类Object的equals方法。让对象比较的是对象所引用的值。

如果一个类没有自己定义equals方法,那么它将继承Object类的equals方法,Objectequals方法实现代码如下

boolean equals(Object o){

return this==o;

}

2、自定义的类的对象的比较。如果把一个类对象放到集合里 ,要比较这个类对象和集合里的对象是否相等,就得重写这个类的equals方法和hashcode方法,不重写就是用==比较,这样就永远不能相等了。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics