`
liuwei1981
  • 浏览: 770587 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:160866
社区版块
存档分类
最新评论

67.对象的toString()方法

 
阅读更多

在Object类中,定义了一个toString()方法,用来返回一个表示这个对象的字符串:
public String toString() {
 return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }


在这个方法中,它将返回一个由类名、紧随其后的“@”符号和hash码的无符号的十六进制字符串,用来表示这个对象。

 

在前面提到了,Object类是所有Java类的超级父类,根据类的继承原则,也就意味着,在Java中,任何一个Java类都拥有了这个toString()方法了。


我们来看一下调用“Person”对象的toString()方法返回的值。(使用示例6-2中定义的Person类)
… …
Person person = new Person();
System.out.println(person);
… …
上述代码将打印出表示这个“Person”对象的字符串。它将打印出类似如下的信息:
Person@15ff48b


显然,这个信息对于我们来说没有什么用。

 

因此,通常情况下,我们需要覆盖父类中的方法toString(),用来提供某对象的自定义信息。一般来说,大多数类的toString()方法覆盖后返回的用于表示对象的字符串都遵循如下的格式:
类名[属性1=值1,属性2=值2,…]


覆盖toString()方法的一个基本原则是,它应该返回包含在对象中的所有令人感兴趣的信息,比如,对象的属性的值。


我们来看一个覆盖toString()的例子。

Person,覆盖Object中的toString()方法
public class Person {
 private String name;

 private int age;

 private String sex;

 public String showName() {
  return name;
 }

 public void setName(String theName) {
  name = theName;
 }

 public int getAge() {
  return age;
 }

 public void setAge(int theAge) {
  age = theAge;
 }

 public String getSex() {
  return sex;
 }

 public void setSex(String theSex) {
  sex = theSex;
 }

 // 覆盖toString()方法
 public String toString() {
  return getClass() + "[" + "name = " + name + ",age = " + age
    + ",sex = " + sex + "]";
 }
}


在这个类中,覆盖了父类(在这里是Object类)的toString()方法,让它按照上面所说的惯例来返回一个用以表示对象的字符串。


除显式调用对象的toString()方法外,在进行String与其它类型数据的连接操作时,会自动调用toString()方法,它可以分为两种情况:


1. 如果String类型数据和引用数据类型连接,则引用类型数据直接调用其toString()方法返回表示该对象的字符串;
2. 如果String类型数据和简单类型数据连接,则简单类型数据先转换为对应的封装类型,再调用该封装类对象的toString()方法转换为String类型。

 

 

分享到:
评论

相关推荐

    JavaScript中Object.prototype.toString方法的原理

    console.log(Object.prototype.toString.call(arr)) //[object Array] 本文要讲的就是,toString方法是如何做到这一点的,原理是什么. ECMAScript 3 在ES3中,Object.prototype.toString方法的规范如下: 15.2.4.2 ...

    ToString()和Convert.ToString()的用法区别

    在一般情况下,ToString()和Convert.ToString()方法都可以通用,但是在处理可能为null的对象时,Convert.ToString()方法更为安全。因为ToString()方法在对象为null时将抛出异常,而Convert.ToString()方法则返回一个...

    map.toString()后转换成Map类型

    - 使用`map.toString()`方法将Map对象转换为字符串。 - 为了便于后续处理,可以对生成的字符串进行一定的格式化,例如去除括号`{}`,并用特定字符替换分隔符``,`。 2. **字符串转换为Map对象:** - 首先,对经过...

    js中toString方法3个作用.docx

    在上面的例子中,我们使用 Object.prototype.toString.call(arr) 来检测数组的类型。该方法返回 `[object Array]`,表明该对象是一个数组。 返回该数字对应进制的字符串 toString 方法的第三个作用是返回该数字...

    javascript使用中为什么10..toString()正常而10.toString()出错呢

    这个问题是在著名的问答网站——stackoverflow上看到的。 之前也看到过JavaScript的这个问题,但是没有深入了解,今天在StackOverflow上看到了答案,感觉不错...因为它既可能是一个浮点数的标志,又可能是取一个对象的

    C#中Convert.ToString和ToString的区别分析

    在C#编程语言中,`Convert.ToString` 和 `ToString` 都是用来将对象转换为字符串的方法,但它们在处理特定情况时有所不同,特别是在处理 `null` 值时。了解这些区别对于C#开发者,尤其是初学者,是至关重要的。 ...

    浅谈C#中ToString()和Convert.ToString()的区别

    而Convert.ToString(param)(其中param参数的数据类型可以是各种基本数据类型,也可以是bool或object类对象。 二、ToString()和Convert.ToString()的区别  一般情况下,这两种方法都可以通用,但是当返回的数据类型...

    得到计算机操作系统版本信息,VB.NET源代码编写Environment.OSVersion.ToString

    `Environment.OSVersion.ToString`是.NET Framework提供的一条内置方法,用于检索当前运行环境的操作系统版本信息。下面我们将深入探讨这个知识点。 首先,`Environment`类是System命名空间中的一个静态类,它提供...

    用Object.prototype.toString.call(obj)检测对象类型原因分析

    因此,当涉及到对 null 或者特定对象进行类型检测时,我们需要借助 Object.prototype.toString.call(obj) 方法。而对于自定义的对象类型,instanceof 操作符则是一个更好的选择。 通过上述方法,我们可以清楚地分辨...

    最好的java对象ToString处理方案,ToString基类

    在给定的`标题`中提到的"最好的java对象ToString处理方案,ToString基类"指的是一个优化的`toString`实现,通过创建一个基类,让所有Java对象都可以轻松地继承并自定义其`toString`行为。 在`描述`中,提到这个工具...

    一个友好的.改善的 Object.prototype.toString的实现

    Object.prototype.toString 方法是 JavaScript 中几乎每个对象都有的一个方法,用于输出当前变量的信息。然而,对于我们最常用的 Object 对象,每次使用 toString 方法都会打印出 “[object Object]” 的结果,让人...

    node.js中的buffer.toString方法使用说明

    本文的重点是Node.js中Buffer对象的toString方法,这个方法可以将Buffer对象中的二进制数据转换为指定编码的字符串。 buffer.toString()方法说明: - toString()是Buffer类的实例方法,用于将Buffer中的数据转换为...

    JavaScript Object toString 初始

    在JavaScript中,`toString`方法是一个内置的方法,用于将对象转换为字符串形式。这个方法对于理解和调试代码至关重要,因为当你尝试打印或输出一个对象时,JavaScript引擎默认会调用该对象的`toString`方法。本篇...

    C#中ToString格式大全.doc

    `ToString` 方法是 C# 中一个非常实用且灵活的功能,它允许开发人员自定义对象如何转换为字符串形式。这对于数据展示、日志记录以及与其他系统交互时尤为重要。本文将详细介绍 C# 中 `ToString` 方法的各种格式化...

    ToString()格式大全

    在编程语言如C#中,`ToString()`方法是一个非常重要的功能,用于将对象转换为其等价的字符串表示。在C#中,`ToString()`方法可以接受一个格式字符串作为参数,以控制输出的字符串格式。这个格式字符串由不同的格式...

    c#中ToString()的一些常用用法.pdf

    在C#编程语言中,`ToString()`方法是一个非常重要的成员函数,它被广泛用于将各种类型的数据转换成字符串。此方法在很多情况下都非常实用,尤其是当你需要将数值、日期时间等对象显示或输出时。以下是一些`ToString...

    C#中的Tostring()用法

    C#语言中的ToString()方法是一个非常重要的方法,它可以将对象转换为字符串类型,以便在应用程序中进行显示或保存。然而,ToString()方法的使用却有很多 trick,需要开发者细心掌握。 1. 日期时间ToString() 在C#...

Global site tag (gtag.js) - Google Analytics