本文概述
如果要将任何对象表示为字符串, 则存在toString()方法。
toString()方法返回对象的字符串表示形式。
如果打印任何对象, 则Java编译器会在内部调用该对象的toString()方法。因此, 重写toString()方法, 返回所需的输出, 它可以是对象的状态, 等等。这取决于你的实现。
Java toString()方法的优势
通过重写Object类的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 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()
}
}
Output:Student@1fee6fc
Student@1eed786
如上例所示, 打印s1和s2将打印对象的哈希码值, 但我想打印这些对象的值。由于java编译器内部调用toString()方法, 因此重写此方法将返回指定的值。让我们用下面给出的例子来理解它: |
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()
}
}
Output:101 Raj lucknow
102 Vijay ghaziabad
评论前必须登录!
注册