Object.Equals(obj, null)与obj==0有什么区别

 我来答
枫吣
推荐于2016-01-13 · TA获得超过190个赞
知道答主
回答量:50
采纳率:100%
帮助的人:64.5万
展开全部
equals方法要是比较的对象没有重写该方法,默认下是比较两个对象的内容是否相同,而==实际比较的是两个对象的引用地址值是否为同一个地址
追问
能否说得更清楚一点?
追答
⊙﹏⊙b汗,有点笔误,应该是equals方法要是比较的对象没有重写该方法,默认下是比较两个对象的引用的地址值是否相同(这个和==是一样的,所谓的引用地址值其实就是两个都是引用的同一个对象,因为每个对象的生成都对于着一个地址值),我们一般在编程的时候都习惯使用equals方法来比较两个对象的内容是否相同,这需要我们队equals方法进行重写,具体的规则则有自己定义(当然如果两个对象引用的是同一个对象使用equals方法比较肯定也是为true的)。
例如 API的String类:

String name1 = new String("name");
String name2=new String("name");
name1.equals(name2);返回值为true。String类中对equals方法进行了重写,比较的是内容是否相同。
name1==name2;返回值为false。因为name1和name2是两个不同的对象,因此他们的引用地址值是不一样的。
对于差别,你可以去看API类的源码,看它的equals方法体就会明白的
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式