1 package com.bytezreo.objectclass;
2
3 import java.util.Date;
4
5 /**
6 *
7 * @Description Object类中toString的方法
8 * @author Bytezero·zhenglei! Email:420498246@qq.com
9 * @version
10 * @date 2021年9月24日下午2:20:19
11 * @ Object类中toString的方法
12 *
13 * 1.当我们输出一个对象的引用时,实际上就是调用当前对象的toString()方法
14 *
15 * 2.Object类中toString()的定义:
16 * public String toString() {
17 return getClass().getName() + "@" + Integer.toHexString(hashCode());
18 }
19 *
20 * 3.像String,Date,File,包装类等都重写了Object类中的toString()方法
21 * 使得在调用对象的toString()时,返回“实体内容” 信息
22 *
23 * 4.自定义类也可以重写 toString() 方法,当调用此方法时,返回对象的“实体内容”
24 *
25 *
26 *
27 *
28 *
29 *
30 *
31 */
32 public class ToString
33 {
34 public static void main(String[] args) {
35
36 Customer cust1 = new Customer("Tom",21);
37
38 //没重写
39 // System.out.println(cust1.toString()); //地址值
40 // System.out.println(cust1); //地址值
41
42
43 // 重写以后
44 System.out.println(cust1.toString()); //实体内容
45 System.out.println(cust1); //实体内容
46
47 String str = new String("zhenglei");
48 System.out.println(str); //zhenglei
49
50
51 Date date = new Date(45454545445455L);
52 System.out.println(date.toString());
53 }
54 }
 1 package com.bytezreo.objectclass;
2
3 import java.util.Objects;
4
5 public class Customer
6 {
7 private String name;
8 private int age;
9 public String getName() {
10 return name;
11 }
12 public void setName(String name) {
13 this.name = name;
14 }
15 public int getAge() {
16 return age;
17 }
18 public void setAge(int age) {
19 this.age = age;
20 }
21 public Customer() {
22 super();
23 }
24 public Customer(String name, int age) {
25 super();
26 this.name = name;
27 this.age = age;
28 }
29
30
31
32 //自动生成 equals() 方法
33 @Override
34 public boolean equals(Object obj) {
35 System.out.println("执行自动重写 equals()方法:");
36 if (this == obj)
37 return true;
38 if (obj == null)
39 return false;
40 if (getClass() != obj.getClass())
41 return false;
42 Customer other = (Customer) obj;
43 return age == other.age && Objects.equals(name, other.name);
44 }
45
46
47 //手动实现 equals()
48 //重写原则:比较两个对象的实体内容是否相同
49
50 // @Override
51 // public boolean equals(Object obj)
52 // {
53 // System.out.println("执行手动重写 equals()方法:");
54 // if (this == obj)
55 // {
56 // return true;
57 // }
58 // if(obj instanceof Customer)
59 // {
60 // Customer cust = (Customer)obj;
61 // //比较两个对象的每个属性是否都相同
62 //// if(this.age == cust.age && this.name.equals(cust.name))
63 //// {
64 //// return true;
65 //// }
66 //// else
67 //// {
68 //// return false;
69 //// }
70 //
71 // //或者
72 // return this.age == cust.age && this.name.equals(cust.name);
73 //
74 //
75 // }
76 // return false;
77 // }
78 //
79
80
81
82 //手动写的
83 //@Override
84 //public String toString() {
85 //
86 // return "Customer[name ="+name+",age = "+ age+"]";
87 //
88 //}
89
90
91 //自动写的
92
93 @Override
94 public String toString() {
95 return "Customer [name=" + name + ", age=" + age + "]";
96 }
97
98
99 }

Java toString的使用的更多相关文章

  1. Java toString解析

    Java toString解析 我们知道,Java所有的类都是Object类的派生类,toString就是Object类中的一个方法. 我们看看它的源代码. public String toStrin ...

  2. JAVA toString方法

    在JAVA中,所有的对象都有toString方法: 创建类时没有定义toString方法,输出对象时,会输出对象的哈希值: 它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个 ...

  3. java.toString() ,(String),String.valueOf的区别

    在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 常用的方法有Object#toString(),(String)要转换的对象,S ...

  4. 关于 java.toString() ,(String),String.valueOf的区别

    今天,在群里有一个妹子问我一个问题,我开始时草草帮她解答,后来她说她还是没懂,然后自己仔细看了看,才发现自己其实更本没说清楚其中的道理,在查看源代码和API然后在网上看看前辈们的文章才知道了,这个问题 ...

  5. Java toString()方法的神奇之处

    Java 手册 toString(String类中) public String toString() 返回此对象本身(它已经是一个字符串!). 指定者: 接口 CharSequence 中的 toS ...

  6. Java toString()方法

    JDK API java.lang 的Object类中的toString()方法 toString public String toString() 返回该对象的字符串表示.通常,toString 方 ...

  7. JAVA学习笔记----【转】 java.toString() ,(String),String.valueOf的区别

    在java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能.本文将对常用的转换方法进行一个总结. 常用的方法有Object#toString(),(String)要转换的对象,S ...

  8. java#tostring

    通常使用apache-commons 来生成tostring方法,但是对于类型为java.util.Date的字段打印效果并不是我们想要的. @Override public String toStr ...

  9. Java toString()方法的自动调用

    如果某一个对象出现在字符串表达式中(涉及“+”字符串对象的表达式),toString()方法就会被自动调动.

  10. 从一道例题谈Arrays.toString()与其他String的转换方法

    阅读该篇文章前,请大家事先阅读一下:   java.toString(),(String),String.valueOf的区别 有了上述基础后,我接下来谈谈从一道题目中获得的些许收获. 今天在做题是发 ...

随机推荐

  1. vue插件实现表格拖拽 sortable 遇见的坑

    下载插件 npm install sortable.js --save (下载的时候一定要这样去下载,不要去下载 npm install sortable--save ) 因为sortable.js和 ...

  2. PLC检测

    填空题1 填空A-E 程序图一 第一训练题的程序,一个是用常开触点,一个是用上升沿指令,建议选上升沿指令编程 程序二 程序图三 程序四 程序五

  3. StackFrame和StackTrace在Unity和C#中的区别

    本文通过实际例子来看看StackFrame和StackTrace有什么区别,分别在.NET和Unity中测试. .NET环境 测试代码 using System; using System.Diagn ...

  4. Python 解析JSON实现主机管理

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它以易于阅读和编写的文本形式表示数据.JSON 是一种独立于编程语言的数据格式,因此在不同的编程语言中都有对 ...

  5. Mygin中间件优化及日志中间件

    本篇是mygin的第七篇,参照gin框架,感兴趣的可以从 Mygin第一篇 开始看,Mygin从零开始完全手写,在实现的同时,带你一窥gin框架的核心原理实现. 目的 中间件Middleware优化 ...

  6. 【OpenCV】在Linux上使用OpenCvSharp

    前言 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,它具有C++,Python,Java和MATLAB接口,并支持Windows,Linux,Androi ...

  7. Oracle配置DCD避免会话被防火墙强制断开

    今天有客户反馈应用测试连接Oracle数据库的会话半小时左右未做操作就会被中断,报错ORA-3113,询问数据库是否有这样的超时设置,能否取消掉这个限制? 登上环境查看监听日志发现连接的IP和数据库I ...

  8. Jackson objectMapper.readValue 方法 详解

    直接说结论方便一目了然: 1. 简单的直接Bean.class 2. 复杂的用 TypeReference 这样就完事了. public class TestMain2 { public static ...

  9. NC54580 素数分布

    题目链接 题目 题目描述 素数分布函数 \(\pi (n)\) 表示小于或等于n的素数的数目.例如 \(\pi (10)=4\)(2,3,5,7是素数).这个函数涉及到许多高等数论的内容,甚至和黎曼猜 ...

  10. NC20545 [HEOI2012]采花

    题目链接 题目 题目描述 萧芸斓是Z国的公主,平时的一大爱好是采花. 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花. 花园足够大,容纳了 \(n\) 朵花,花有 \(c\) 种颜色(用整 ...