码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA equals, ==

时间:2015-09-20 10:30:18      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

 

都是判相等,对于基本变量没区别,只是对动态变量(即对象)有区别:

  1. ==:值相等。对于对象引用,即判断引用值也就是地址是否相等。即如果Object a,b,则 a==b 表示引用a和b的地址是否相等。
  2. equals():是Object的方法,其实现是 return this == inputObject。但是常常会被覆盖,如String,Integer等都覆盖了该方法,判断对象引用所指向的内容是否相等
  • a==b 则 a.equas(b) 一定正确,但反之则不一定,要看对象a对于equals的具体实现。如果采用默认的object实现,则反之亦然。
  • 有规范要求,如果a.equals(b),则 a.hashcode() == b.hashcode(),因此如果要覆盖重写equals方法,要注意修改hashcode()方法,以满足规范。

 

JAVA equals, ==

标签:

原文地址:http://www.cnblogs.com/hf-cherish/p/4822912.html

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