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. [置顶] ES篇

    环境 第一篇: ES--介绍.安装 第二篇: ES--安装nodejs 第三篇: ES--插件 第四篇: ES--kibana介绍.安装 第五篇: ES--中文分词介绍.下载 第六篇: docker, ...

  2. GIT专业术语教程-转载

    目录 一.版本控制概要 1.1.什么是版本控制 1.2.常用术语 1.3.常见的版本控制器 1.4.版本控制分类 1.4.1.本地版本控制 1.4.2.集中版本控制 1.4.3.分布式版本控制 1.5 ...

  3. 超级AI助手:全新提升!中文NLP训练框架,快速上手,海量训练数据

    "超级AI助手:全新提升!中文NLP训练框架,快速上手,海量训练数据,ChatGLM-v2.中文Bloom.Dolly_v2_3b助您实现更智能的应用!" 1.简介 目标:基于py ...

  4. 从嘉手札<2024-1-10.2>

    我们每个人都是在受挫中成长起来的 你不能剥夺他人在受苦中获益的权利 大部分人对吃苦的含义可能理解的太肤浅了 穷并不是吃苦 吃苦的本质是长时间为了某个目标而聚焦的能力 在这个过程中放弃娱乐生活.放弃无效 ...

  5. Java连接kubernates集群最优雅的两种方式

    创建maven工程,pom.xml中引入连接k8s的客户端jar包: <properties> <maven.compiler.source>8</maven.compi ...

  6. 飞桨paddlespeech语音唤醒推理C INT8 定点实现

    前面的文章(飞桨paddlespeech语音唤醒推理C定点实现)讲了INT16的定点实现.因为目前商用的语音唤醒方案推理几乎都是INT8的定点实现,于是我又做了INT8的定点实现. 实现前做了一番调研 ...

  7. Umi配置路由

    一.Umi路由的概念 在 Umi 中,你可以在 config/config.js 文件中使用 routes 属性来配置路由.routes 属性是一个数组,每个元素都表示一个路由对象.每个路由对象都包含 ...

  8. mysql删除表中重复记录

    1.创建测试表,并插入数据 create table test( id int(11) primary key auto_increment comment '用户编号', username varc ...

  9. HttpClientTemplate JDK11以上的版本,可以用,我写的。

    package com.diandaxia.common.template; import com.fasterxml.jackson.databind.ObjectMapper; import or ...

  10. 五一不休息,每天都学习,从零教你手写节流throttle

    壹 ❀ 引 我在 从零教你手写实现一个防抖debounce方法 一文中详细的介绍了防抖概念,以及如何手写一个防抖.既然聊到防抖那自然避不开同等重要的节流throttle,老规矩,我们先阐述节流的概念, ...