【JavaSE】解读Java中的toString方法

前言:

在Java中,toString 方法来自**java.lang.Object** 类,然后所有对象都继承该**Object 类** 。默认情况下,它的作用是返回对象的字符串表示形式。在实际开发 中,重写**toString()**方法可以帮助我们以更易读的形式输出对象信息,尤其在调试和日志记录时尤为有用。


一、看源码:

1.方法来源:java.lang底下的Object类

2.方法定义和注释:

注释意思:

返回对象的字符串表示形式。一般来说,toString方法返回一个"文本表示"此对象的字符串。结果应该是一个简洁但信息丰富的表示,便于阅读。

建议所有子类重写此方法。

Object类的toString方法返回一个字符串,该字符串由对象作为实例的类的名称、@字符、以及哈希码的无符号十六进制表示对象。

换句话说,此方法返回一个等于以下值的字符串:

getClass().getName()+'@'+整数.toHexString(hashCode())

源码解析

getClass():调用该方法获取对象的运行时类。

getName():获取类的完全限定名(包括包名)。

hashCode() :调用 hashCode() 方法,返回对象的哈希码。

Integer.toHexString():将哈希码转换为无符号十六进制字符串。

默认的 toString() 实现虽然能唯一标识对象 ,但通常并不能提供有用的信息。建议所有子类重写 toString() 方法,以提高输出的可读性。

3.小编解读:

该方法放在Object里,就是为了所有类都有一个口子,可以自定义toString方法,有一个优雅易读的返回结果


二、如何重写toString方法

现在有一个学生类。使用默认的toString方法时:

重写方法:

@Override非必要,但建议加上,多一层校验机制。

建议使用Idea自动生成toString方法,再在上面做修改。

相关推荐
青云交25 分钟前
Java 大视界 -- Java 大数据在智能教育学习效果评估与教学质量改进实战
java·实时分析·生成式 ai·个性化教学·智能教育·学习效果评估·教学质量改进
崎岖Qiu27 分钟前
【设计模式笔记17】:单例模式1-模式分析
java·笔记·单例模式·设计模式
fl1768311 小时前
基于python的天气预报系统设计和可视化数据分析源码+报告
开发语言·python·数据分析
Lei活在当下1 小时前
【现代 Android APP 架构】09. 聊一聊依赖注入在 Android 开发中的应用
java·架构·android jetpack
ACP广源盛139246256731 小时前
(ACP广源盛)GSV6172---MIPI/LVDS 信号转换为 Type-C/DisplayPort 1.4/HDMI 2.0 并集成嵌入式 MCU
c语言·开发语言·单片机·嵌入式硬件·音视频
不穿格子的程序员2 小时前
从零开始刷算法-栈-括号匹配
java·开发语言·
雪域迷影2 小时前
C#中通过get请求获取api.open-meteo.com网站的天气数据
开发语言·http·c#·get
lkbhua莱克瓦242 小时前
Java练习-正则表达式 1
java·笔记·正则表达式·github
yue0082 小时前
C#类继承
java·开发语言·c#
Want5952 小时前
Python汤姆猫
开发语言·python