Java toString要点

一、关于Object类中的tostring()方法

1. toString源代码长什么样?

public String toString(){return getClass().getName()+"@"+Integer.toHexString(hashCode());}

源代码上的toString方法的默认实现是:

类名@对象的内存地址转换成十六进制的形式

2. toString()的目的是什么:

通过调用这个方法可以将一个“Java对象”转换成“字符串形式”

3. 建议所有的子类重写toString()方法,它应该是一个简洁的、详实的、易阅读的方法

package Day0218.Demo01;public class Test01 {public static void main(String[] args) {MyTime t = new MyTime(1999,11,17);System.out.println(t.toString());}
}class MyTime{int year;int month;int day;public MyTime() {}public MyTime(int year, int month, int day) {this.year = year;this.month = month;this.day = day;}public String toString(){return this.year+"年"+this.month+"月"+this.day+"日";}
}

以上示例重写了toString()方法,达到了易阅读的目的。

4. 注意:输出引用的时候,会自动调用引用的toString()方法!

        User u1 = new User("zhangsan",addr);System.out.println(u1);//输出引用的时候,会自动调用引用的toString()方法!

二、toString()总结

  1. toString()方法的默认实现是

类名@对象的内存地址转换成十六进制的形式
Day0221.Demo01.User@5cad8086

  1. 因此建议子类根据实际需要去重写toString()方法
    3.重写toString()方法,要达到易阅读的目的。
  2. 输出引用会自动调用toString()方法

Java toString()方法的要点相关推荐

  1. JAVA toString方法详解

    JAVA toString方法 在Java中,我们经常会编写许多自定义类.在使用时,我们如何打印出这些类中实例变量? class value {private int s;public void se ...

  2. java 自定义tostring_自定义java toString方法

    java里我们经常System.out.println(xx) xx可以是一个List 一个HashMap 一个HashSet 一个什么奇怪的自定义的类. 只要能正确显示字符串的背后起作用的都是一个叫 ...

  3. java tostring方法_Java程序员小伙启动项目报错,原来是使用了lombok

    每一个程序员在进公司的第一天,可能是在搭建环境,启动项目.小伙在启动 SpringBoot 项目中发现:代码中缺失大量的 getter/setter ,一查原来使用 lombok . 首先,解决项目中 ...

  4. [Java基础][Java]toString()方法

    [原理解析] toString()方法返回反映这个对象的字符串 因为toString方法是Object里面已经有了的方法,而所有类都是继承Object,所以"所有对象都有这个方法" ...

  5. java tostring方法_Java虚拟机如执行方法调用的(二)?

    虚方法调用 Java里所有非私有实例方法调用都会被编译成invokevirtual指令. 接口方法调用都会被编译成invokeinterface指令.这两种指令都属于Java虚方法的调用. 在大多数情 ...

  6. java如何重写onestring,44 java toString 方法 重写equals 方法

    package com.wjl.zy131227; /** * 打印对象 * toString 方法 * @author Administrator * */ public class ToStrin ...

  7. Java toString()方法

    Java toString method is a very useful method and even though you may not know it, I am sure you have ...

  8. java重写的代码_java tostring方法重写代码示例

    当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法 默认情况下 System.out.printl ...

  9. java的知识点11——面向对象的三大特征之一继承、instanceof 运算符、方法的重写override、Object类基本特性、toString方法

    面向对象的三大特征:继承.封装.多态 继承的实现 继承让我们更加容易实现类的扩展.子类是父类的扩展 使用extends实现继承 package cn.sxt;public class Test {pu ...

最新文章

  1. NETCONF 环境搭建
  2. GDB调试:观察点(数据断点)【GDB调试】
  3. hdu6383(2018 “百度之星”程序设计大赛 - 初赛(B))
  4. 三、数据分析前,打下数据处理基础(下)
  5. ADO.NET Entity Framework 使用中的经验总结
  6. 【数据结构与算法】基础数据结构与算法大全
  7. Perl 第三章 操作符
  8. Spark2.2出现异常:ERROR SparkUI: Failed to bind SparkUI
  9. 配置Hadoop开发环境(Eclipse)
  10. java多线程实现医院叫号_Java多线程经典题目(医院挂号)
  11. i511300h和i51135g7的区别 i5 1135g7和11300h核显对比
  12. iEx.ec——云计算业务的区块链革命
  13. 计算机的内存的材料是什么,内存条到底是干啥的?手把手的告诉你
  14. 【JavaScript】数据类型
  15. Access转出到Mysql,咱自己动手丰衣足食.. -- 纯JS代码
  16. 农村老教师的爱情故事
  17. 凝思系统机器名怎么查看_凝思操作系统常见问题及处理方法
  18. 网络经济与企业管理【七】之企业财务管理
  19. 信息时代下的零售业,如何摆脱限制强势突围?
  20. Android(Intent意图初解,显示意图,隐式意图,意图过滤器)

热门文章

  1. [COURSE_PTHE] 18. 缓冲区溢出
  2. 线性电源与开关电源的区别
  3. 详解 QT 主要类 QWidget
  4. android资源收藏贴[持续更新]
  5. ASP+XML+JavaScript实现动态无限级联动菜单
  6. ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能
  7. 配置webpack.config.js遇到的一些问题
  8. Function(函数)
  9. 7-7 印度大壶节 (25 分)
  10. mysql简单语句_MYSQL常用简单语句