toString()的作用
toString()常用用法
在写一个属性类的时候,我们经常使用快捷键生成它的get和set方法,同时顺便的快捷生成它的toString()方法。比如:
public class Person {
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
@Override
public String toString() {
return "Person [name=" + name + ", age=" + age + "]";
}
public class TestPerson {
public static void main(String[] args) {
Person person=new Person("小明哥",20);
System.out.println(person);
}
}
输出:Person [name=小明哥, age=20]
可以看出打印出的是:类名[toString中打印的]
不适用toString()
public class Person {
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
public class TestPerson {
public static void main(String[] args) {
Person person=new Person("小明哥",20);
System.out.println(person);
}
}
打印结果:day322.Person@1db9742
可以看出打印的结果:包名.类名@hashcode
总结:Object类中有toString()方法:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
如果我们不重写toString()方法,默认的打印的就是类的地址,我们没法看到这个类具体有什么,所以为了显示类中的具体东西,我们需要重写toString()方法,在我们打印一个类的时候,会相应的打印出重写toString()中return中的东西。