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. go中异常处理流程

    在 Go 语言中,panic.recover 和 defer 是用于处理异常情况的关键字.它们通常一起使用来实现对程序错误的处理和恢复. 1. defer 语句 defer 用于在函数返回之前执行一段 ...

  2. MySQL【五】与python交互

    1.安装pymysql 安装pymysql pip install pymysql 2.游标(cursor)的使用 cursor,就是一个标识,用来标识数据可以理解成数组中的下标  . 一.声明一个游 ...

  3. 8.1 TEB与PEB概述

    在开始使用TEB/PEB获取进程或线程ID之前,我想有必要解释一下这两个名词,PEB指的是进程环境块(Process Environment Block),用于存储进程状态信息和进程所需的各种数据.每 ...

  4. JuiceFS v1.0 正式发布,首个面向生产环境的 LTS 版本

    今天,JuiceFS v1.0 发布了 经过了 18 个月的持续迭代和大量生产环境的广泛验证,此版本将成为第一个被长期维护的稳定版(LTS).同时,该版本提供完整的向前兼容,所有用户可以直接升级. J ...

  5. GJK算法:两个凸集的碰撞测试

      GJK算法用于判断两个凸集是否相交,其中GJK是三个提出者的姓名首字母.为了便于理解(偷懒),下面的内容都只在二维平面内讨论. 1. 回顾凸集   可能有很多小伙伴忘了什么是凸集.凸集有很多等价的 ...

  6. Java微服务SpringCloud+Uniapp+Vue3+Element Plus开源BizSpring商城

    产品介绍 BizSpring电商平台概述 BizSpring电商平台,是基于最新Spring Cloud 微服务架构开发的多语言电商平台,使用领先的 Vue3.0+ElementPlus + unia ...

  7. Shell中调用可执行文件,手动执行可以执行,crontab执行就报错:exec: java: not found

    今天发现一个很奇怪的问题,就是我编写的shell脚本, 手动执行可以正常执行,但是放到crontab中就报错.line 60: exec: java: not  found 百度搜索发现原来是java ...

  8. [JVM]关于swap的理解

    关于swap的理解 概念 swap就是内存交换的意思. 计算机内存分为物理内存和虚拟内存.物理内存就是计算机实际内存的大小:虚拟内存是磁盘空间里开辟出一部分,是虚拟出来的内存空间,所以也叫磁盘缓存. ...

  9. offline 2 online | Cal-QL:校准保守 offline 训出的 Q value,让它与真实 reward 尺度相当

    论文标题:Cal-QL: Calibrated Offline RL Pre-Training for Efficient Online Fine-Tuning. NeurIPS 2023,5 5 6 ...

  10. NOI 2019 补全记录

    D1T1 回家路线 好久之前写的,忘了具体细节,但是发现有平方项所以考虑拆项之后斜率优化. D1T2 机器人 考虑 DP. 记 \(f_{l,r,i}\) 表示 \([l,r]\) 这段区间,最大值为 ...