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. ffmpeg修改文件格式

    http://ffmpeg.org/ 官网下载windows版本 进这个文件夹 随便找一个格式的文件我这里以mp4 放在这个文件夹里面 然后状态栏输入cmd 输入下方命令代码 ffmpeg -i 66 ...

  2. c++ container容器(string,vector,map,queue,stack等等)

    STL和c++标准库 标准模板库STL部分包含在C++标准库中的软件库. c++标准库:即以std::开头,但是部分编译器厂商也会把STL的内容放在std:: namespace里面 由于一个常见的误 ...

  3. 『Echarts』简介

    目录 一.前言 二.『Echarts』简介 1. 什么是『Echarts』 三.数据可视化 四.『Echarts』 1.『Echarts』的作用 2.『Echarts』能绘制哪些图表 3.『Echar ...

  4. TienChin 活动管理-工程创建

    工程模块的创建,与之前创建渠道管理一样的,所以这里就不贴图带着大家一起动手进行了,表结构我已经给到大家了,这里我只贴一下代码生成器的代码部分即可. @Test void generateActivit ...

  5. Elasticsearch中的分页查询限制和近似去重统计

    Elasticsearch 前言 深度分页的问题 如何解决 修改默认值 使用search_after方法 scroll 滚动搜索 es中的近似聚合 总结 Elasticsearch 前言 最近工作中用 ...

  6. 20.4 OpenSSL 套接字AES加密传输

    在读者了解了加密算法的具体使用流程后,那么我们就可以使用这些加密算法对网络中的数据包进行加密处理,加密算法此处我们先采用AES算法,在网络通信中,只需要在发送数据之前对特定字符串进行加密处理,而在接收 ...

  7. 1.13 导出表劫持ShellCode加载

    在Windows操作系统中,动态链接库DLL是一种可重用的代码库,它允许多个程序共享同一份代码,从而节省系统资源.在程序运行时,如果需要使用某个库中的函数或变量,就会通过链接库来实现.而在Window ...

  8. ubuntu离线安装tcpdump

    环境 Distributor ID: Ubuntu Description: Ubuntu 16.04.5 LTS Release: 16.04 Codename: xenial 准备安装包 tcpd ...

  9. Spring自带的这11个工具类,真香!

    前言 最近有些小伙伴,希望我分享一些好用的工具类,帮他们提升开发效率. 今天这篇文章专门跟大家一起总结一下,Spring框架本身自带的一些好用的工具类,希望对你会有所帮助. 1 Assert 很多时候 ...

  10. static_cast, dynamic_cast与reinterpret_cast的区别

    在C++中,static_cast, dynamic_cast和reinterpret_cast都可用于类型转换,它们在具体使用时有什么区别?此外,更为重要的是,为什么不推荐使用强制类型转换? 1. ...