Java toString()
以下是一个重写toString()的例子
class Classmate
{
private String name;
private int age;
public void setname(String name)
{
this.name=name;
}
public String getname()
{
return this.name;
}
public void setage(int age)
{
this.age=age;
}
public int getage()
{
return this.age;
}
public String toString()
{
return "name: "+name+" age: "+age;
}
}
public class Itstext
{
public static void main(String[] args)
{
Classmate zhangsan=new Classmate();
Classmate lisi=new Classmate();
zhangsan.setname("zhangsan");
zhangsan.setage(18);
lisi.setage(20);
lisi.setname("lisi");
System.out.println(lisi.toString());
System.out.println(zhangsan.toString());
}
}
结果:
name: lisi age: 20
name: zhangsan age: 18
若使用未重写的toString()
例如以下代码
class Classmate
{
private String name;
private int age;
public void setname(String name)
{
this.name=name;
}
public String getname()
{
return name;
}
public void setage(int age)
{
this.age=age;
}
public int getage()
{
return age;
}
}
public class Itstext
{
public static void main(String[] args)
{
Classmate zhangsan=new Classmate();
Classmate lisi=new Classmate();
zhangsan.setname("zhangsan");
zhangsan.setage(18);
lisi.setage(20);
lisi.setname("lisi");
System.out.println(lisi.toString());
System.out.println(zhangsan.toString());
}
}
结果:
Classmate@1b6d3586
Classmate@4554617c
toString源码格式
public String toString()
{
return getClass().getName() + '@' + Integer.toHexString(hashCode());
}
返回值即:类名+@+哈希字符值的十六进制
toString的作用:
字符串的转换
toString是存在于Object类中的方法,能被所有类继承,故要使用toString的时候要重写toString方法。