第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

從源碼探究JAVA的equals和==

標(biāo)簽:
Java

本文脉络:先总结出三种应用场景选用equals还是==,再贴java.lang.Object类equals()方法的源码,以及重写了这个方法的派生类有哪些,以String类为例贴一个如何重写的源码。最后附上本文的参考文献和源码链接。

JAVA的equals和==的三种应用情景

  • 基本数据类型比内容用==

  • 引用数据类型比内容用equals

  • 引用数据类型比地址用==

以下做具体解释。

情景一:基本数据类型比内容用==

说明:如果想比较两个相同基本数据类型(如两个都是int类型)的变量值是否相等,则使用==运算符。对于8种基本数据类型的变量,变量直接存储的是“值”,因此在用关系操作符==来进行比较时,比较的就是 “值” 本身。注意此处不能使用equals方法,因为int是基本类型,不是对象,没有方法。

注意:要区分int和Integer,int是java提供的8种原始数据类型之一。Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。int的默认值为0,而Integer的默认值为null。

8种基本数据类型如下。

  • 整型(四种)byte, short, int, long

  • 浮点型(两种)float, double

  • 布尔型boolean

  • 字符型char

情景二:引用数据类型比内容用equals

说明:如果涉及比较两个相同或不同引用类型(如两个都是String类型,或者一个是Integer类型另一个是String类型)的变量值是否相等,即本题情况,则使用equals方法。String、Date、Double、Integer、Long等类对Object类的equals方法进行了重写,比较的是内容。见本文末尾源代码。

情景三:引用数据类型比地址用==

前面都是想比较值是否相等,如果我们想比较引用类型的变量所指向的内存地址是否相等,则使用==运算符。
说明:==运算符如果作用于引用类型的变量,则比较的是变量所指向的对象的地址。

关于基本数据类型

源码

//java.lang.Object.equals(java.lang.Object)源码

//derived from above

//java.lang.String.equals(java.lang.Object)源码

参考文献:

1、浅谈Java中的equals和==
2、Primitive Data Types
3、Java.lang.Object.equals() Method
4、Difference between == and .equals() method in Java
5、Methods derived from: JDK / jdk / openjdk / 6-b14
java.lang.Object.equals(java.lang.Object)

6、java.lang.Object源码
7、java.lang.String源码
8、面试题:Integer和int的区别?在什么时候用Integer和什么时候用int



作者:心飞麦
链接:https://www.jianshu.com/p/0dc0ee68d814
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫(xiě)下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消