toString方法
1.源代码
public String toString()
返回对象的字符串表示形式。 一般来说, toString方法返回一个“textually代表”这个对象的字符串。 结果应该是一个简明扼要的表达,容易让人阅读。 建议所有子类覆盖此方法。
该toString类方法Object返回一个由其中的对象是一个实例,该符号字符`的类的名称的字符串@ ”和对象的哈希码的无符号的十六进制表示。 换句话说,这个方法返回一个等于下列值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode());
}
2.toString方法为什么要重写
package com.shouyeren.API;
public class Test01 {
public static void main(String[] args) {
MyTime t1 = new MyTime(1970,1,1);
String s1 = t1.toString();
//System.out.println(s1); //重写toString之前返回结果 MyTime@1b6d3586
System.out.println(s1); //重写toString之后返回结果 1970 年 1 月 1 日
System.out.println(t1);// 默认调用toString()方法 1970 年 1 月 1 日
System.out.println(t1.toString());// 这里的toString()可以省略 1970 年 1 月 1 日
}
}
class MyTime{
int year;
int month;
int day;
public MyTime() {
}
public MyTime(int year, int month, int day) {
this.year = year;
this.month = month;
this.day = day;
}
@Override
public String toString() {
return this.year + " 年 " + this.month + " 月 " + this.day + " 日";
}
}
toString()方法返回的哈希值往往不是我们所需要的,所以在编写程序时我们要根据自己的需求去重写toString()方法,重写的要求是简洁的、详实的、易阅读的。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/125478.html