java中“==“ 与 equals 的区别

请归纳总结一样,如第一点,第二点,还有String类中... 请归纳总结一样,如第一点,第二点,还有String类中 展开
 我来答
是勇敢
2014-04-15 · 希望快乐渡过第一天。
是勇敢
采纳数:914 获赞数:1799

向TA提问 私信TA
展开全部
"=="比"equal"运行速度快,因为"=="只是比较引用。
对于字符串变量来说,使用“==”和“equals()”方法比较字符串时,其比较方法不同。
“==”比较两个变量本身的值,即两个对象在内存中的首地址。“equals()”比较字符串中所包含的内容是否相同。

举例:==是比较两个路牌上写的地址是不是指向同一个快餐店, equals比较的是两个路牌指向的两个快餐店(无论是指向同一个还是两个不同的)是不是都是肯德基。
百度网友59420bb
推荐于2017-09-22 · TA获得超过221个赞
知道小有建树答主
回答量:494
采纳率:100%
帮助的人:138万
展开全部
1、 ==是判断两个变量或实例是不是指向同一个内存空间
equals是判断两个变量或实例所指向的内存空间的值是不是相同

2、==是指对内存地址进行比较
equals()是对字符串的内容进行比较

3、==指引用是否相同
equals()指的是值是否相同
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你大佬是谁
2014-04-15
知道答主
回答量:11
采纳率:0%
帮助的人:3.7万
展开全部
首先申明一个引用 a,b;
a==b 是判断a,b指向的对象即地址是否为同一个;
a.equal(b) 是判断a和b的内容是否相等;一般情况也是指是否同一对象;

而String 类 重写了 Object的equal方法。它里面的是判断它的包含的字符串是否相同;
java中 引用 a,b以及变量都放在栈中。而对象即new的东西,放在堆中,所说的地址其实是在堆中的位置, equal是返回布尔型的函数,想怎么写都行,不过得注意的它意义:判断a和b的内容是否相等
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
红尘默岩
2014-04-15 · TA获得超过397个赞
知道答主
回答量:63
采纳率:0%
帮助的人:24.9万
展开全部
简单点说,就是数字之间的比较时用==,而字符串之间的比较用equals

字符串比较,可以用:
字符串1.equals("字符串2") 相等则返回true
StringUtils.equals(字符串1,字符串2) 相等则返回true

还有判断是否为空,可以用:
StringUtils.isBlank(字符串变量) 为null、“”则返回true
StringUtils.isNotBlank(字符串变量) 不为null、“”则返回true
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式