问答详情
源自:5-2 学生选课---使用 Map 添加学生

== 与equals

在本节中,为什么用==,==不是比较地址的吗 ?而equals比较的是对象的值。那根据我的理解不是应该采用equals吗,但我在本地调试时,采用equals报错,空指针异常,已经迷糊了,求指教

提问者:宝慕林9160084 2018-09-01 21:56

个回答

  • qq_夜末_0
    2018-09-28 10:48:29

    ==对象引用是否相同,这里是看是否两个学生类的引用是否相同,就是具体实例是否相同.

    a.equals(b),首先a是不能为空的,不然就报空指针了,基本是参数变量放后面,固定字符放前面判断,jdk8用Objects.equals(a,b),这已经帮你做了空指针判断

  • 慕丝0095305
    2018-09-02 12:34:44

    ==比较的是数值,equals比较的是文本内容