對象的 hashCode()和equals(),使用場景

  • hashcode

頂級類Object裏面的方法,所有的類都是繼承Object,返回是一個int類型的數。

根據一定的hash規則(存儲地址,字段,長度等),映射成一個數組,即散列值。

  • equals

頂級類Object裏面的方法,所有的類都是繼承Object,返回是一個boolean類型

根據自定義的匹配規則,用於匹配兩個對象是否一樣,一般邏輯如下

//判斷地址是否一樣

//非空判斷和Class類型判斷

//強轉

//對象裏面的字段一一匹配

 

使用場景:對象比較、或者集合容器裏面排重、比較、排序。

代碼實戰: 編寫一個User對象,重寫裏面的hashcode和equal方法

import java.util.Date;
import java.util.Objects;

public class User {

    private int age;

    private  String name;

    private Date time;

    public int getAg
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章