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

来源:4-4 Java条件语句之嵌套 if

无脚鸟01

2019-01-05 10:55

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

写回答 关注

6回答

  • 慕姐2399691
    2019-02-11 07:50:18

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

  • JiaZhang
    2019-01-25 16:35:20

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

  • 岚山
    2019-01-22 13:31:39

    if(sex == "女")

                {

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

                }

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

  • 慕设计1544755
    2019-01-21 12:09:11

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

  • 时倾001
    2019-01-20 19:31:16

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

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

  • 平凡
    2019-01-05 11:39:24

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

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


Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165172 学习 · 17581 问题

查看课程

相似问题