对象的 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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章