面对面试官,如何正确回答==与equals()的区别?

❤写在前面
❤博客主页:努力的小鳴人
❤系列专栏:面试😋
❤欢迎小伙伴们,点赞👍关注🔎收藏🍔一起学习!
❤如有错误的地方,还请小伙伴们指正!🌹

话不多说,先上硬菜

  1. == 既可以比较基本类型也可以比较引用类型:对于基本类型就是比较值,对于引用类型就是比较内存地址
  2. equals是属于java.lang.Object类里面的方法,如果该方法没有被重写过默认也是 = = == ==;我们知道String等类的equals方法是被重写过的,具体要看自定义类里有没有重写Object的equals方法来判断,在实际应用中,我们一般用equals来比较字符串的值

在这里插入图片描述


一、==

作用:用来比较两个变量的值是否相等,即用于比较变量所对应的内存中所存储的数值是否相同,如果 = = == ==两边的是对象,即比较的是变量存放的对象的内存地址,判断这两个引用是否指向堆中的同一块内存,实际上是指针操作

🎁注:变量存储于栈 对象存储于堆

二、equals()

equals() 方法用于将字符串与指定的对象比较

👌Object equals()

Object equals() 方法用于比较两个对象是否相等,是判断两个对象引用指向的是同一个对象,即比较 2 个对象的内存地址是否相等

  1. 语法:object.equals(Object obj)
  2. 参数:obj - 要比较的对象。
  3. 返回值:如果两个对象相等返回 true,否则返回 false

Object类中方法为:

public boolean equals(Object obj) {  
    return (this == obj);  
}

👌String equals()

String equals() 方法用于比较两个字符串的内容是否相等

  1. 语法:public boolean equals(Object anObject)
  2. 参数:anObject – 与字符串进行比较的对象。
  3. 返回值:如果给定对象与字符串相等,则返回 true;否则返回 false

String类中对于equals()的重写:

public boolean equals(Object anObject) {  
    if (this == anObject) {  
        return true;  
    }  
    if (anObject instanceof String) {  
        String anotherString = (String)anObject;  
        int n = value.length;  
        if (n == anotherString.value.length) {  
            char v1[] = value;  
            char v2[] = anotherString.value;  
            int i = 0;  
            while (n-- != 0) {  
                if (v1[i] != v2[i])  
                    return false;  
                i++;  
            }  
            return true;  
        }  
     }  
     return false;  
}  

🎁总结:不积跬步,无以至千里
👌 作者算是一名Java初学者,文章如有错误,欢迎评论私信指正,一起学习~~
😊如果文章对小伙伴们来说有用的话,点赞👍关注🔎收藏🍔就是我的最大动力!
🚩不积跬步,无以至千里书接下回,欢迎再见🌹

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 31
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小鳴人

鳴人将永远记住您的恩惠

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值