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

equald()

"==" 和“equals()”有什么不同?各自是什么用法?

正在回答

4 回答

刚刚找到的: JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了

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

可我之前做的在讲object类的笔记里,明明是说equals()是比较是否指向同一块内存地址的,他还说==用于比较引用类型时,也比较地址。感觉好矛盾

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

要比较string1和string2两个字符串的内容是否相同时,使用equals。

==是比较两个对象的地址是否相同,举个例子:String str1="hello";String str2=new String("hello");要比较这两个字符串是否内容相同,需使用str1.equals(str2),返回结果为true;如果使用str1==str2,返回结果为false;因为两个字符串的地址不相等。

关于equals还有一些可以说明的地方,你可以查下资料,或者再把慕课网的java入门看一遍

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

==是判断左右两边的内存地址是否相等,equals()是判断左边的赋值是否等于括号里的值。

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

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409792    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程
意见反馈 帮助中心 APP下载
官方微信