前言:
眼前看官们对“java中tostring方法的作用”大约比较关心,你们都想要知道一些“java中tostring方法的作用”的相关文章。那么小编也在网上收集了一些关于“java中tostring方法的作用””的相关资讯,希望姐妹们能喜欢,我们一起来学习一下吧!首先我们看下官方文档的解释:
返回对象的字符串表示形式,总的来说,toString()方法返回一个字符串,“以文本方式表示”这个对象。其结果应该是一个简洁,但详实的代表性,是一个容易阅读的。建议所有子类都重写此方法。
上面是oracle公司给出的官方解释,并特意建议我们要重写此方法,接下来我们看看toString()的源码:
public String toString() {
return this.getClass().getName() + "@" + Integer.toHexString(hashCode());
}
源代码上toString()方法的默认实现是:类名@对象的内存地址转换为十六进制的形式
SUN公司设计toString()方法的目的是:通过调用这个方法可以将一个“java对象”转换成“字符串表示形式”
以下是代码:
public class Test01{
public static void main(String[] args){
MyTime t1 = new MyTime(1970, 1, 1);
// 一个日期对象转换成字符串形式的话,我可能还是希望能看到具体的日期信息。
String s1 = t1.toString();
//MyTime类重写toString()方法之前
//System.out.println(s1); // MyTime@28a418fc
//MyTime类重写toString()方法之后
System.out.println(s1); // 1970年1月1日
//System.out.println(t1.toString()); //1970年1月1日
// 注意:输出引用的时候,会自动调用该引用的toString()方法。
System.out.println(t1);
}
}
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;
}
// 重写toString()方法
// 这个toString()方法怎么重写呢?
// 越简洁越好,可读性越强越好。
// 向简洁的、详实的、易阅读的方向发展
public String toString(){
//return this.year + "年" + this.month + "月" + this.day + "日";
return this.year + "/" + this.month + "/" + this.day;
}
}
小弟不才,有不足或者有争议的望各路大神指正!!!