📅  最后修改于: 2020-09-25 15:02:32             🧑  作者: Mango
如果要将任何对象表示为字符串,则存在toString()方法。
toString()方法返回对象的字符串表示形式。
如果打印任何对象,则Java编译器会在内部调用该对象的toString()方法。因此,重写toString()方法,返回所需的输出,它可以是对象的状态,等等。这取决于您的实现。
通过重写Object类的toString()方法,我们可以返回对象的值,因此无需编写太多代码。
让我们看一下打印参考的简单代码。
class Student{
int rollno;
String name;
String city;
Student(int rollno, String name, String city){
this.rollno=rollno;
this.name=name;
this.city=city;
}
public static void main(String args[]){
Student s1=new Student(101,"Raj","lucknow");
Student s2=new Student(102,"Vijay","ghaziabad");
System.out.println(s1);//compiler writes here s1.toString()
System.out.println(s2);//compiler writes here s2.toString()
}
}
正如您在上面的示例中看到的,打印s1和s2打印对象的hashcode值,但是我想打印这些对象的值。由于java编译器在内部调用toString()方法,因此重写该方法将返回指定的值。让我们用下面给出的例子来理解它
现在,让我们看看toString()方法的真实示例。
class Student{
int rollno;
String name;
String city;
Student(int rollno, String name, String city){
this.rollno=rollno;
this.name=name;
this.city=city;
}
public String toString(){//overriding the toString() method
return rollno+" "+name+" "+city;
}
public static void main(String args[]){
Student s1=new Student(101,"Raj","lucknow");
Student s2=new Student(102,"Vijay","ghaziabad");
System.out.println(s1);//compiler writes here s1.toString()
System.out.println(s2);//compiler writes here s2.toString()
}
}