随笔 - 322  文章 - 0  评论 - 4  阅读 - 77146

Java toString的使用

复制代码
 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 }
复制代码

 

posted on   Bytezero!  阅读(101)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示