亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于改寫equals()方法的問題

http://img1.sycdn.imooc.com//5e73329400011ff110760978.jpg

第一個問題,55行為什么一定要return false,不可以比較兩個空的對象呢?

第二個問題,62行,為什么還要分類this對象的name是不是空呢?直接像69行比較不就行了嘛?感覺有點多此一舉呢?

正在回答

4 回答

第一個問題:空對象不能調用equals()方法;會拋出空指針異常; ? ? ? ? ? 第二個問題:值為null的引用類型變量不能調用非靜態方法,會拋出空指針異常; ? ? ? ? ? 第三個問題:return后直接會結束函數,同時返回一個返回值;你前面不管怎么執行,最后都會得到一個return語句,所以最后的return語句就多余了; ? ? ?? 第四個問題:是執行重寫之前的方法。


2 回復 有任何疑惑可以回復我~
#1

奶尤糯米團子 提問者

好的謝謝
2020-04-18 回復 有任何疑惑可以回復我~
#2

奶尤糯米團子 提問者

哦對,有一個小疑問。關于第一個問題,那個obj不是調用equals方法的對象,是被比較的那個對象,被比較的對象是空對象也會拋出異常嗎?
2020-04-18 回復 有任何疑惑可以回復我~
#3

一個大憨憨 回復 奶尤糯米團子 提問者

被比較的對象是空對象不會拋出異常;之所以判斷obj==null 是因為obj如果是空對象,而this不是空對象,那它們肯定不相等
2020-04-18 回復 有任何疑惑可以回復我~
#4

奶尤糯米團子 提問者 回復 一個大憨憨

哦哦!這個樣子,謝謝
2020-04-28 回復 有任何疑惑可以回復我~
#5

qq_慕絲4346553 回復 一個大憨憨

第一次不是判斷obj==null嗎?為什么下面還會要判斷兩個都為null,obj為null不是false
2021-09-04 回復 有任何疑惑可以回復我~
查看2條回復

第六十九行調用的是name的equals方法

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

還有兩個問題,系統是怎么辨別是否用加上最后一行(75)的return true的呢?這里為什么就報錯了;

當重寫的equals()方法里調用了equals()方法(如第69行),是默認執行重寫前的方法嗎?

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

這兩個都是一個類型的問題,可以了解一下“空指針異?!?/p>

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

舉報

0/150
提交
取消
Java入門第三季
  • 參與學習       409766    人
  • 解答問題       4543    個

Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧

進入課程

關于改寫equals()方法的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號