第四次作業(yè) 重寫equals方法

 @Override
    public boolean equals(Object obj) {
        if(obj==null)return false;
        if(this==obj)return true;
        if(obj instanceof User) {
            TestentityEntity u = (TestentityEntity) obj;
            return this.getId()==u.getId()
                    &&this.getTname().equals(u.getTname())
                    &&this.getTid().equals(u.getTid())
        }
        return false;
    }
  1. equals與==的區(qū)別。
    == 比較的是變量(棧)內(nèi)存中存放的對(duì)象的(堆)內(nèi)存地址愁溜,用來(lái)判斷兩個(gè)對(duì)象的地址是否相同,即是否是指相同一個(gè)對(duì)象。比較的是真正意義上的指針操作蛤售。
    equals用來(lái)比較的是兩個(gè)對(duì)象的內(nèi)容是否相等,由于所有的類都是繼承自java.lang.Object類的妒潭,所以適用于所有對(duì)象悴能,如果沒(méi)有對(duì)該方法進(jìn)行覆蓋的話,調(diào)用的仍然是Object類中的方法雳灾,而Object中的equals方法返回的卻是==的判斷漠酿。

  2. Hashcode的作用。
    hashCode()方法是為任何一個(gè)對(duì)象生成一個(gè)哈希碼谎亩,相同(邏輯上認(rèn)為)的對(duì)象應(yīng)該生成相同的哈希碼炒嘲,Java內(nèi)置的求出的哈希碼是基于存儲(chǔ)地址的一個(gè)映射關(guān)系,保證了對(duì)象的哈希碼的一一對(duì)應(yīng)關(guān)系匈庭。散列存儲(chǔ)夫凸,即是根據(jù)一個(gè)關(guān)鍵字找到對(duì)應(yīng)的對(duì)象,存在對(duì)應(yīng)的哈希表里阱持,

  3. 重寫equals()方法就必須重寫hashCode()
    重寫equals()方法就必須重寫hashCode()方法主要是針對(duì)HashSet和Map集合類型 寸痢。集合框架只能存入對(duì)象(對(duì)象的引用(基本類型數(shù)據(jù):自動(dòng)裝箱))。
    在向HashSet集合中存入一個(gè)元素時(shí)紊选,HashSet會(huì)調(diào)用該對(duì)象(存入對(duì)象)的hashCode()方法來(lái)得到該對(duì)象的hashCode()值,然后根據(jù)該hashCode值決定該對(duì)象在HashSet中存儲(chǔ)的位置道逗。簡(jiǎn)單的說(shuō):HashSet集合判斷兩個(gè)元素相等的標(biāo)準(zhǔn)是:兩個(gè)對(duì)象通過(guò)equals()方法比較相等兵罢,并且兩個(gè)對(duì)象的HashCode()方法返回值也相等。如果兩個(gè)元素通過(guò)equals()方法比較返回true滓窍,但是它們的hashCode()方法返回值不同卖词,HashSet會(huì)把它們存儲(chǔ)在不同的位置,依然可以添加成功吏夯。同樣:在Map集合中此蜈,例如其子類Hashtable(jdk1.0錯(cuò)誤的命名規(guī)范),HashMap噪生,存儲(chǔ)的數(shù)據(jù)是key,value對(duì)裆赵,key,value都是對(duì)象跺嗽,被封裝在Map.Entry战授,即:每個(gè)集合元素都是Map.Entry對(duì)象页藻。在Map集合中,判斷key相等標(biāo)準(zhǔn)也是:兩個(gè)key通過(guò)equals()方法比較返回true植兰,兩個(gè)key的hashCode的值也必須相等份帐。判斷valude是否相等equal()相等即可。
    稍微提一句:
    (1)兩個(gè)對(duì)象楣导,用==比較比較的是地址废境,需采用equals方法(可根據(jù)需求重寫)比較。
    (2)重寫equals()方法就重寫hashCode()方法筒繁。
    (3)一般相等的對(duì)象都規(guī)定有相同的hashCode噩凹。
    集合類都重寫了toString方法。String類重寫了equal和hashCode方法膝晾,比較的是值栓始。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市血当,隨后出現(xiàn)的幾起案子幻赚,更是在濱河造成了極大的恐慌,老刑警劉巖臊旭,帶你破解...
    沈念sama閱讀 212,454評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件落恼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡离熏,警方通過(guò)查閱死者的電腦和手機(jī)佳谦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)滋戳,“玉大人钻蔑,你說(shuō)我怎么就攤上這事〖檠欤” “怎么了咪笑?”我有些...
    開封第一講書人閱讀 157,921評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)娄涩。 經(jīng)常有香客問(wèn)我窗怒,道長(zhǎng),這世上最難降的妖魔是什么蓄拣? 我笑而不...
    開封第一講書人閱讀 56,648評(píng)論 1 284
  • 正文 為了忘掉前任扬虚,我火速辦了婚禮,結(jié)果婚禮上球恤,老公的妹妹穿的比我還像新娘辜昵。我一直安慰自己,他們只是感情好咽斧,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,770評(píng)論 6 386
  • 文/花漫 我一把揭開白布路鹰。 她就那樣靜靜地躺著贷洲,像睡著了一般。 火紅的嫁衣襯著肌膚如雪晋柱。 梳的紋絲不亂的頭發(fā)上优构,一...
    開封第一講書人閱讀 49,950評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音雁竞,去河邊找鬼钦椭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛碑诉,可吹牛的內(nèi)容都是我干的彪腔。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼进栽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼德挣!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起快毛,我...
    開封第一講書人閱讀 37,817評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤格嗅,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后唠帝,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屯掖,經(jīng)...
    沈念sama閱讀 44,275評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,592評(píng)論 2 327
  • 正文 我和宋清朗相戀三年襟衰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了贴铜。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,724評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瀑晒,死狀恐怖绍坝,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情苔悦,我是刑警寧澤轩褐,帶...
    沈念sama閱讀 34,409評(píng)論 4 333
  • 正文 年R本政府宣布,位于F島的核電站间坐,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏邑退。R本人自食惡果不足惜竹宋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,052評(píng)論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望地技。 院中可真熱鬧蜈七,春花似錦、人聲如沸莫矗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至三娩,卻和暖如春庵芭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背雀监。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工双吆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人会前。 一個(gè)月前我還...
    沈念sama閱讀 46,503評(píng)論 2 361
  • 正文 我出身青樓好乐,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親瓦宜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蔚万,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,627評(píng)論 2 350

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

  • Java集合類可用于存儲(chǔ)數(shù)量不等的對(duì)象,并可以實(shí)現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊(duì)列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 1,925評(píng)論 0 13
  • 一反璃、集合入門總結(jié) 集合框架: Java中的集合框架大類可分為Collection和Map;兩者的區(qū)別: 1苔巨、Col...
    程序員歐陽(yáng)閱讀 11,547評(píng)論 2 61
  • 0x00 創(chuàng)造價(jià)值 小雞問(wèn)母雞:可否不用下蛋,帶我出去玩鞍胬?母雞道:不行,我要工作侄泽!小雞說(shuō):可你已經(jīng)下了這么多蛋了...
    cws閱讀 282評(píng)論 0 0
  • 古絕·送父行 千叮萬(wàn)囑噎凝喉礁芦, 寧受“啃老”解子憂。 含辛茹苦四十載悼尾, 白發(fā)蕭蕭已佝僂柿扣。 本詩(shī)背景:老父來(lái)惠...
    任爾風(fēng)云我自逍閱讀 365評(píng)論 15 12
  • 1,mysql主從復(fù)制原理 1)主從復(fù)制結(jié)構(gòu)圖image.png2)master dump線程:對(duì)binlog加鎖...
    沐兮_d64c閱讀 768評(píng)論 0 3