Object 类的方法分析

Object 类的常用方法

hashcode() 和 equals()

两个属于Object 的类方法,一般会重写

  • 如果不重写 hashCode() 返回对象的地址值,equals() 用来比较两个对象的地址值是否一样
  • 如果重写,hashCode() 返回对象的哈希值,equals() 比较两个对象的成员信息是否相同

在HashSet集合 中,通过hashCode() 和equals() 保证元素的唯一性
在判断两个对象是否相同时,首先判断两个对象的的哈希值是否相同,不相同则两个对象是不相同的;如果哈希值相同,则继续判断两个对象的元素是否相同,相同则两个对象是相同的,反之则不相同。

toString

返回对象的字符串表现形式,建议所有子类重写这个方法
返回对象的简明扼要的表现形式,比如System.out.println() 调用的就是这个方法

wait 和 notify

wait() 让线程处于等待的状态
notify() 唤醒其他处于等待状态的线程
注意,这两个方法必须要在锁对象下调用,或者在同步里使用。
比如在调用的方法上加上 synchronized 关键字

public synchronized void put(int milk){
        if(state){
            try {
                wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        this.milk=milk;
        System.out.println("送奶工将第"+this.milk+"奶放入奶箱");

        state=true;

        notifyAll();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖大仙~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值