如何在 Java 中重写 toString() 方法?2024 年 9 月 10 日 | 阅读 3 分钟 任何 Java 对象的 toString() 方法都会返回该对象的字符串表示形式。默认情况下,此方法会生成一个包含对象类名、“@”符号以及其十六进制哈希码的字符串。但是,在某些情况下,您可能希望为对象提供更有用的字符串表示。 为什么重写 toString() 方法?任何 Java 对象的 toString() 方法都会返回该对象的字符串表示形式。此方法通常会生成一个包含对象类名、“@”符号以及对象十六进制格式哈希码的字符串。然而,这种默认表示可能并不总是很有用。 例如,考虑一个具有 name 和 age 字段的 Person 类。如果您尝试打印此类的实例,toString() 方法的默认输出如下所示: 由于此字符串未提供有关人的姓名或年龄的任何信息,因此很难确定对象代表什么。可以重写 toString() 方法并定义自定义字符串表示形式,为 Person 对象提供更有意义的表示。 重写 toString() 方法的最佳实践以下是在 Java 中重写 toString() 方法时需要牢记的一些最佳实践:
通过遵循一些最佳实践,我们可以为 Java 中的对象创建有意义且可靠的字符串表示。 以下是重写了 toString() 方法的完整 Person 类: Person.java 输出 Person{name='Alice', age=25} 在此示例中,我们使用了 Person 类中重写的 toString() 方法,创建了一个名为“Alice”,年龄为 25 岁的 Person 对象。输出显示了 Person 对象的 toString() 方法的自定义字符串表示。 重写 Java 中的 toString() 方法是一种简单但强大的方法,可以为您的对象提供有意义的字符串表示。通过遵循本节中概述的最佳实践,我们可以生成一致的、易于阅读和理解的代码字符串表示。请记住采用一致的格式,谨慎处理复杂对象,并确保在字符串表示中包含所有相关信息。这些原则将帮助您开发一个能够准确而简洁地表示您的对象的 toString() 方法。 下一主题在 Java 中插入双向链表节点 |
Java 库中已有的异常被称为内置异常。这些异常可以定义错误情况,以便我们理解出现此错误的原因。内置异常的类型内置异常有两种:检查异常和非检查异常。检查异常 检查...
阅读 8 分钟
在本节中,我们将学习如何使用星号或任何其他特殊字符以及用户定义的行和列来编写代码。这是 Java 中最难编写的模式程序之一。为了...
阅读 2 分钟
Java 是一种通用的编程语言,允许开发人员探索和实现各种模式和设计。其中一种有趣的模式是平行四边形图案,它形成美观的字符排列。在本节中,我们将探讨平行四边形图案的概念,学习如何...
阅读 4 分钟
Java 是一种多功能且流行的编程语言,提供了广泛的工具和数据结构来帮助开发人员创建高效、可靠且线程安全的应用程序。Java 并发框架中的一个此类工具是 Atomic Boolean。在本节中,我们将探讨什么是 Atomic...
阅读 16 分钟
识别包含元音字符的最长字符串是可以使用多种方法解决的经典问题之一。直接解决问题的方法是检查所有可能的子字符串并进行比较,但这需要...
5 分钟阅读
如果一个数字 num 加上数字 num + 1 然后拼接起来是一个完全平方数,那么这个数字 num 就被称为 Sastry Number。例如 1:输入 int num = 183 输出 183 是一个 Sastry Number。解释:如果我们把数字 183 和数字 184 (183 + 1) 拼接起来...
阅读 4 分钟
在 Java 中,死锁是多线程的一部分。多线程环境允许我们同时运行多个线程以进行多任务处理。有时线程会发现自己处于永久等待状态,这就是死锁情况。死锁是两个或多个线程尝试...
5 分钟阅读
Java.lang.String 或 String 类,是 API 中的一个重要类。String 类在 Java API 中具有许多许多程序员并未立即意识到的独特功能。理解 String 类是学习 Java 的先决条件。它...
阅读 4 分钟
Java 5 中引入的泛型为开发人员编写和使用 Java 集合的方式带来了革命性的变化。泛型允许类和方法对各种类型的对象进行操作,同时提供编译时类型安全。这一强大功能具有许多优点,有助于编写更清晰、更...
阅读 4 分钟
图像处理是计算机科学领域一个引人入胜的领域,涵盖了分析和操作图像的广泛操作。在图像处理中最基本但又最有趣的任务之一是生成具有随机彩色像素的图像。这项任务可以作为...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India