📜  Java 理解toString()方法

📅  最后修改于: 2020-09-25 15:02:32             🧑  作者: Mango

Java toString()方法

如果要将任何对象表示为字符串,则存在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()  
 }  
}  

正如您在上面的示例中看到的,打印s1和s2打印对象的hashcode值,但是我想打印这些对象的值。由于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()  
 }  
}