`
schumee
  • 浏览: 26160 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Effective Java 学习笔记第9条 --- 总是要改写toString()方法

阅读更多

在Object的toString方法返回的形式是Class的类型加上@加上16进制的hashcode,非常难以理解。最好在自己的类中提供toString方法更好的表述实例的信息,不然别人怎么看得明白呢。

 

在实际应用中,toString方法应该返回对象中包含的所有令人感兴趣的信息。同时,最好在程序中提供一个相匹配的构造函数或者静态工厂方法,便于程序员在对象和它的字符串表示之间进行来回转换。

 

在实现toString方法的时候,必须要做出是否在文档中指定返回值的格式的决定。指定格式可以被用来做为一种标准的,无二意性的表达形式,但这样也会 使字符串的表示嵌入到永久数据中,如果以后改变了表达形式,则会影响到系统的代码和数据。不管你是否决定指定格式,都应该在代码中清晰的表明自己的意图。 可在所在的类中为toString返回值中所包含的信息提供一种编程访问途径,用来获取toString方法返回字符串中的信息,避免程序员自己去解析字 符串而导致的错误。

分享到:
评论

相关推荐

    effective java 读书笔记

    《Effective Java》是Java开发领域的经典著作,作者Joshua Bloch深入浅出地阐述了编写高效、健壮的Java代码的技巧和最佳实践。以下是对该书部分内容的详细解释: 1. **产生和销毁对象** - Item1:静态工厂方法相比...

    Effective Java第三版1

    《Effective Java》是Java编程领域的一本经典著作,由Joshua Bloch撰写,它提供了许多最佳实践和设计原则,帮助开发者写出更高效、更可维护的代码。第三版延续了这一传统,对Java语言的新特性进行了更新,并给出了...

    java学习笔记.pdf

    ### Java学习笔记知识点总结 #### 第一章:Java语言入门 - **1.1 Java的诞生** Java由Sun Microsystems公司于1995年推出的一种可移植、面向对象的编程语言。最初的设计目标是为消费电子产品提供一种通用编程语言...

    java实战经典学习笔记

    ### Java实战经典学习笔记知识点概览 #### 一、Java概述及开发环境搭建 - **Java概述** - Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年发布。 - Java的设计目标是“一次编写,到处运行”,这...

    java李兴华学习笔记之Java常用类库

    ### Java李兴华学习笔记之Java常用类库 #### 一、课程介绍及知识点概览 根据提供的资料,“Java李兴华学习笔记之Java常用类库”这份文档来源于北京MLDN软件实训中心的教学资料,主要涵盖了Java编程语言中常用类库...

    2021年EFFECTIVEJAVA读书笔记.docx

    Effective Java 读书笔记 - 枚举与注解 本文总结了Effective Java 中关于枚举与注解的知识点,涵盖了枚举类型的优点、使用指南、避免使用 int 常量、使用 EnumSet 和 EnumMap 等。 枚举类型的优点 枚举类型提供了...

    JAVA题库习题及答案--.doc

    Java是一种强大的、面向对象的编程语言,以其跨平台、安全性和可移植性著称。Java程序主要分为两种类型:Application和Applet。Application是独立运行的程序,它们有自己的main()方法,可以单独启动,而Applet是嵌入...

    Android 学习笔记(1)--永远不变的Hello World

    在这个学习笔记中,我们将探讨如何创建第一个简单的 Android 应用,了解 Activity 和其生命周期,以及如何通过 Button 实现交互功能。 首先,Android SDK 的下载和安装是开发的预备步骤,但在此不做详细介绍。一旦...

    Java基本语法学习-方法部分笔记

    ### Java基本语法学习—方法部分笔记 #### 一、方法的概念与重要性 在Java语言中,**方法**是程序设计的重要组成部分,它不仅能够帮助我们实现代码的复用,提高开发效率,还体现了面向对象编程的核心思想之一——*...

    java学习笔记整理

    ### Java学习笔记整理 #### 1. Java简介 ##### 1.1 计算机编程和开发语言 计算机系统由硬件系统和软件系统组成。软件系统又进一步细分为系统软件和应用软件。其中,系统软件包括操作系统、编译系统、数据库系统等...

    effectiveJava课件分享

    4. 对于任何可能会暴露对象内部状态的方法(如toString、hashCode和equals),要确保它们不依赖于可变状态。 5. 如果类包含其他对象引用,确保这些对象也是不可变的,或者至少是不可变的视图。 例如,Java的String...

    Java基础[03-面向对象].

    面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将功能封装进对象,强调具备了功能的对象。 面向对象是基于面向过程的。

    入门必备Java学习笔记

    "入门必备Java学习笔记"这个资源,正如其名,旨在帮助初学者掌握Java编程的基础,并逐步深入理解其核心概念。这本书涵盖了Java Standard Edition (Java SE) 的API,Javalang的基本元素,以及数据库连接技术JDBC和...

    bean运行时跟综实例-TOSTRING

    在Java编程中,`toString()`方法是一个非常关键的工具,特别是在进行调试和日志记录时。标题中的"bean运行时跟综实例-TOSTRING"强调了在运行时通过重写`toString()`方法来追踪和诊断问题的重要性。描述指出,这样做...

    java笔记 java笔记

    Object类是所有类的基类,提供了如`toString()`、`equals()`等方法。 ##### 7.10 封装类 封装类用于包装基本类型,提供了更丰富的功能。 ##### 7.11 内部类 - **内部类分类**:成员内部类、局部内部类、静态内部...

    Java入门学习笔记

    ### Java入门学习笔记 #### 一、Java特点与运行原理 **1.1 Java特点** - **简单性:** Java的设计使得它易于学习且避免了许多传统编程语言中存在的复杂性。 - **面向对象:** Java是一种纯面向对象的语言,支持...

    JAVA学习笔记(全面)

    ### JAVA学习笔记(全面) #### 一、Java技术基础 ##### 1.1 编程语言 编程语言是计算机能够理解和执行的一种指令集。根据不同的编程思维和应用场景,编程语言可以分为以下几类: - **机器语言**:由二进制代码...

    前端开源库-safe-tostring-pmb

    【标题】"前端开源库-safe-tostring-pmb"是一个专门针对前端开发的开源库,它的主要功能是提供一个安全的`toString`方法。这个库的名字`safe-tostring-pmb`暗示了它的设计目的是确保在处理对象转换为字符串时能够...

    java toString ToStringBuilder ReflectionToStringBuilder

    在Java编程中,`toString()`方法是一个非常关键的成员函数,它用于返回对象的字符串表示形式,通常包含类名和对象的属性值。当我们需要打印或调试对象时,`toString()`方法尤其有用。本篇文章将深入探讨几种在Java中...

Global site tag (gtag.js) - Google Analytics