千家信息网

Java Object类方法实例分析

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本文小编为大家详细介绍"Java Object类方法实例分析",内容详细,步骤清晰,细节处理妥当,希望这篇"Java Object类方法实例分析"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
千家信息网最后更新 2025年11月08日Java Object类方法实例分析

本文小编为大家详细介绍"Java Object类方法实例分析",内容详细,步骤清晰,细节处理妥当,希望这篇"Java Object类方法实例分析"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1.equals方法

1.API中equals方法的介绍

2.==和equals 的对比

  • == 既可以判断基本类型,又可以判断引用类型,如果判断的是基本类型,判断的是值是否相等,如果判断的是引用类型,则判断的是地址是否相等,即判断是不是同一个对象。

  • equals 方法是 Object 类中的方法,只能判断引用类型,默认的是判断地址是否相等,子类中往往会重写该方法,重写后用于判断内容是否相等

我们可以看看 Object,String 和 Integer中的 equals 方法的 JDK 源码。

Object o = new Object();o.equals(1);//Object类中的equals方法System.out.println("hello".equals("hello"));//String中的equals方法Integer integer = new Integer(5);System.out.println(integer.equals(5));//Integer中的equals方法//将光标放在equals方法上,按Ctrl同时按鼠标左键,就可跳转到String和Integer中的equals方法的JDK源码。
//Object类中的equals方法public boolean equals(Object obj) {        return (this == obj);//判断是不是当前对象}
//String类中重写的equals方法public boolean equals(Object anObject) {        if (this == anObject) {            return true;//首先判断是不是当前对象        }        if (anObject instanceof String) {//判断当前类型是不是字符串类型            String anotherString = (String)anObject;//向下转型            int n = value.length;//保存传入字符串的长度            if (n == anotherString.value.length) {                char v1[] = value;                char v2[] = anotherString.value;                int i = 0;                while (n-- != 0) {                    if (v1[i] != v2[i])//一个一个字符比较                        return false;                    i++;                }                return true;            }        }        return false;    }
 //Integer类中重写的equals方法public boolean equals(Object obj) {        if (obj instanceof Integer) {//判断当前类型是不是Integer类型            return value == ((Integer)obj).intValue();//向下转型        }        return false;    }

2.hashCode方法

1.API中hashCode方法的介绍

2.提高具有哈希结构容器的的效率。

3.两个引用,如果指向的同一个对象,哈希值一样,指向不同对象,哈希值就不一样。

4.哈希值主要根据地址来的,但不能将哈希值等价于地址。

3.toString方法

1.API中toString方法的介绍

2.默认返回:全类名(包名+类名)+@+哈希值的十六进制。

3.往往重写toString方法,用于返回对象属性。

4.当直接输出对象时,toString方法会被默认的调用。

//JDK中的toString方法源码public String toString() {        return getClass().getName() + "@" + Integer.toHexString(hashCode());    //返回全类名(包名+类名)+@+哈希值的十六进制    }//重写toString方法 @Override    public String toString() {        return "Person{" +                "name='" + name + '\'' +                ", age=" + age +                ", gender=" + gender +                '}';    }//往往重写toString方法,用于返回对象属性。

4.finalize方法

1.API中finalize方法的介绍

2.对象被回收时,系统自动调用该对象的finalize方法。子类可以重写该方法,做一些释放资源的操作。

3.当某个对象没有引用时,jvm就会使用垃圾回收机制来销毁此对象,销毁对象前会先调用finalize方法。

4.垃圾回收机制的调用,是由系统的GC算法来决定的,也可通过System.gc()主动触发。

读到这里,这篇"Java Object类方法实例分析"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

方法 对象 类型 哈希 地址 类名 实例 实例分析 分析 内容 字符 文章 源码 十六进制 垃圾 子类 字符串 属性 指向 机制 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云服务器拆解 网络安全人人有责手抄报资料 本地环境上传数据库不成功 软件开发行业的成本处理 网络安全考核评语 互联网科技素材哪里找 餐饮软件开发优势 数据库中关系模式中的查询操作 信息化与网络安全工作会议 软件开发费用分配 网络安全业务范围 软件开发需要电脑超频吗 数据库如何连接项目 vb6.0数据库的访问技术 软件开发项目验收制度 企业网络技术人员述职报告 中国传承人数据库官网上认可吗 数据库技术2级和3级 支持苹果电脑的打印机无线服务器 福建银联网络技术服务哪家好 米公网络技术 项目部署到服务器图片不显示 天堂W排队自动切服务器 网络安全宣传有奖知识问答 探途网络技术有限公司客服 服务器应该买多大的 我的世界服务器刷凋零 滁州电商平台软件开发 华为ipad登录网络服务器繁忙 计算机网络技术的专业分析
0