java里 equals和== 区别

 我来答
帐号已注销
2019-12-23 · TA获得超过899个赞
知道答主
回答量:2971
采纳率:15%
帮助的人:197万
展开全部
在JAVA中,前者是判断内容数值,是否相同?而后者是比对地址是否相同
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慕名小妹妹
2016-06-02 · TA获得超过1090个赞
知道小有建树答主
回答量:109
采纳率:0%
帮助的人:116万
展开全部
== 和 Equals 的区别
1. == 是一个运算符。
2.Equals则是string对象的方法,可以.(点)出来。

我们比较无非就是这两种 1、基本数据类型比较 2、引用对象比较
1、基本数据类型比较
==和Equals都比较两个值是否相等。相等为true 否则为false;

2、引用对象比较
==和Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;

需注意几点:
1、string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 Equals 这两者比较的都是字符串是否相同;
2、当你创建两个string对象时,内存中的地址是不相同的,你可以赋相同的值。
所以字符串的内容相同。引用地址不一定相同,(相同内容的对象地址不一定相同),但反过来却是肯定的;
3、基本数据类型比较(string 除外) == 和 Equals 两者都是比较值;

兄弟看完记得采纳哦。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
娜娜要追梦
高粉答主

2020-07-27 · 每个回答都超有意思的
知道答主
回答量:8.8万
采纳率:6%
帮助的人:5155万
展开全部
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaohunzhang
2008-07-24 · TA获得超过224个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:117万
展开全部
equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true
Eg:s1 = new String("sony"); //创建的是字符串对象
s1.equals("sony"); //返回
trues1 == "sony" //返回false
//如果
s1 = "sony";
s1 == "sony" //返回true
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
起点97305
2008-07-28 · 超过11用户采纳过TA的回答
知道答主
回答量:97
采纳率:0%
帮助的人:0
展开全部
equals 只是比较值是否相同
而==则是比较两个变量 是不是同一个变量,也应时是说
要看看这两个变量是不是引用的同一个地址,
java 中只有引用地址相同的两个变量才被视为==
如果明白值传递与地址传递的话,这个问题应该不难理解

null放在前面就是为了避免变量为空时 引了空指针异常
如: if(a==null) 如果a 真为空时,现在就相当用调用了变量a的方法,a 都为空了还调用他的方法,当然会引发空指针异常了,但写成if(null==a)就不会了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式