为了账号安全,请及时绑定邮箱和手机立即绑定

对equals()不是很理解,为什么不能用==,能解释一下区别吗

对equals()不是很理解,为什么不能用==,能解释一下

正在回答

6 回答

这么说吧 比如1号(篮球员)和1号(足球员),他们的值是相等的,但对象不同,所以1号(篮球员)==1号(足球员)为float。而题目中要求仅仅是比较内容相同,而内容就是是否为1号(球员)所以用equals,仅仅比较内容是否相同,是否为1号,而不管对象是什么。现阶段还没有学习如何创建对象,所以用==虽然也可以,但不够严谨,还是有漏洞的。

1 回复 有任何疑惑可以回复我~

关于Java中equals和==的详解,看完保证你没有任何问题https://zhangjia.tv/526.html

0 回复 有任何疑惑可以回复我~

if(sex == "女")

            {

                System.out.println("进入女子决赛组");

            }

这里是可以这样写的,因为String sex="女"这种形式声明这样的一个字符串后,JVM会在常量池中先查找有有没有一个值为"女"的对象,如果有,就会把它赋给当前引用.即原来那个引用和现在这个引用指点向了同一对象,如果没有,则在常量池中新创建一个"女",下一次如果有String sex1 = "女";又会将sex1指向"女"这个对象,即以这形式声明的字符串,只要值相等,任何多个引用都指向同一对象."=="比较的是操作符两端的操作数是否是同一个对象,这里也是可以使用的

0 回复 有任何疑惑可以回复我~

如果先吧sex的值赋值给另一个量,然后再去判断这两个是否相等 ,不是也一样么?

0 回复 有任何疑惑可以回复我~

说简单点就是==比较的是值(对象的内存地址)   equals比较的是是否为同一个对象

你可以理解为   1==1   就是说这两个数字比较     1.equals("1")   这个就是"1"这个东西是否和"1"这个东西一样

0 回复 有任何疑惑可以回复我~

==比较的是两个对象的地址

equals比较的是两个对象的内容


1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

对equals()不是很理解,为什么不能用==,能解释一下区别吗

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信