簡體   English   中英

我無法理解以下代碼段中的特定行

[英]I can't understand a certain line in the following piece of code

我無法弄清楚“最終人選”這一行的意義。 在第一個條件測試中,執行控件以檢查參數是否不為null,這對我來說很有意義。 其次,如果類是相同的,那么可以進行比較,這對我又有意義。 但是我迷失了,因為我不了解創建另一個Person對象並將其用作參考的必要性。

    public boolean equals(Object obj) {
    if (obj == null) {
        return false;
    }
    if (getClass() != obj.getClass()) {
        return false;
    }

    final Person other = (Person) obj;
    if (!Objects.equals(this.surname, other.surname)) {
        return false;
    }
    if (!Objects.equals(this.name, other.name)) {
        return false;
    }
    return true;
}

感謝您的時間 :)

通過將other聲明為final ,這意味着一旦設置了值就無法更改。

您要強制轉換為Person對象的原因是因為Object的參數類型。 這意味着您可以獲取Object類中的所有方法。 通過將其強制轉換為Person ,您可以訪問Person類中的所有方法。 可以通過以下方式實現相同的功能:

((Person)obj).personMethod();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM