永发信息网

JAVA中Object类 equals()方法和“==”怎样区别

答案:3  悬赏:10  手机版
解决时间 2021-06-02 02:36

怎样正确理解equals()方法和“==”之间的区别 书本讲解的太过抽象

要怎样去区别和运用这 2个方法

最佳答案

这个只有自己理解 不大好说的 啊


不过给你一个 网址 你自己去看一下嘛



http://blog.csdn.net/zfrong/archive/2009/06/23/4290904.aspx

全部回答

==是判断对象的地址是否相等也就是是否是同一个对象

equals是具体比较对象的值是否相等。

你按照我的 方法理解就没有问题了,深入到内存中,分为堆和栈。==就是比较堆内存的值是否相等(对象地址存放在堆内存),equals()就是比较栈内存的值(对象的值存在于栈内存)

在理解==和equals的区别的时候先不要去管String,它是个特例,否则你会被搞晕掉的。String有个常量池。String a="abc";String b="abc";a==b是返回true的,就是因为常量池的原因,实际上a和b是同一个对象。但是String a="abc";String a=new String("abc");这样a==b就是返回flase了,a和b就不是同一个对象(他们的地址不等。)

equals()是比较两个对象的值是否相等;==是比较两个对象的地址是否相等。

假设有两个String对象,它们的值是一样的,但由于它们各自所在的内存地址是不相同的,如果你直接用==去对比,大多数时候会返回false,而你用equals()就可以返回true。

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
问道挣钱方法
买魔域vip用分区吗?
怎样点QQ校友
如果班上的一个女孩喜欢你 而你不喜欢她 她总
和朋友喜欢上一个人我该退出么
DNF山东2 末日君主和12幽灵多少钱
有人在学习的时候会自言自语,为什么,怎么办
继续把拽丫头和校草同居的小说传给我下啊
包头汉马培训
求个2K9的完整版的下载地址?
你男朋友是个负心汗怎么办?
寻仙中,太极和乾坤的玩家可以在一个家族里吗
我嘚qq什么时候升1个太阳啊??
七上数学金钥匙试卷答案
web 3D技术五个 问题 谢谢大家我只有30分了
推荐资讯
笔记本电脑健盘自己打字,可是我按住空格健左
求一些言情书集,好看点的,多点
rhythm of the rain 属于美国乡村音乐么??
为什么好有来消息 没声音?
这是怎么回事,英雄岛开不出?
有人叫石艺璇没?
问什要结婚了感觉好怕啊!
最近有什么好听的忧伤的歌?
我的手机是三星D908i,每次下东西还要从手机
丢下女儿十几年出去和别人生子现在回来离婚是
为什么我家电脑玩DNF会突然重新启动
Jordan fight45什么时候上市的?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?