java中的==和equals方法

這東西記了又忘,忘了又記
equals本來實(shí)現(xiàn)就是用的==,但是string比較特殊,有一個(gè)常量池
1.string類型
''

String s1 = new String("abc");
String s2 = new String("abc");
String s3 = "abc", s4 ="abc" ;

System.out.println(s1.equals(s2));//true
System.out.println(s3.equals(s4));//true
System.out.println(s1.equals(s3));//true

System.out.println(s1==s2);//false
System.out.println(s3==s4);//true,因?yàn)槌A砍氐脑?

''
string的equals方法重寫了的,只要內(nèi)容相同就返回true
==則是返回地址,如果是new的則是不同的地址,就會(huì)返回false

2.基本類型的包裝類型,比如Boolean、Character、Byte、Shot、Integer、Long、Float、Double等的引用變量,==是比較地址的,而equals是比較內(nèi)容的,沒有常量池這個(gè)東西

在對(duì)象相同的情況下內(nèi)容相同則可以返回true,其他情況返回false

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評(píng)論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,973評(píng)論 19 139
  • 關(guān)于 “ == ” “ == ”操作符主要比較的是操作符兩端對(duì)象的內(nèi)存地址。如果兩個(gè)對(duì)象的內(nèi)存地址是一致的,那么就...
    EakonZhao閱讀 1,391評(píng)論 3 15
  • 面向?qū)ο笾饕槍?duì)面向過程。 面向過程的基本單元是函數(shù)。 什么是對(duì)象:EVERYTHING IS OBJECT(萬物...
    sinpi閱讀 1,091評(píng)論 0 4
  • 天云飄蕩四方 心房莫名抽搐 煩愁離別情緒化作萬縷飛絮 愛恨情仇終歸化作塵土 千愁百轉(zhuǎn)終于落地生根 只有你...
    昵不昵閱讀 186評(píng)論 0 0