toString()方法

Posted XuGuobao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了toString()方法相关的知识,希望对你有一定的参考价值。

toString()返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。
结果应是一个简明但易于读懂的信息表达式。建议所有Object子类都重写此方法。

因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。

它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法

总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法.

 1 package arraySortDemo01;
 2 
 3 class Student implements Comparable<Student>{
 4     private String name;
 5     private int age;
 6     private float score;
 7     public Student(String name,int age,float score){
 8         this.name = name;
 9         this.age = age;
10         this.score = score;
11     }
12     public String toString(){
13         return name + "\t" + age + "\t" + score;
14     }
15     public int compareTo(Student stu) {
16         if(this.score >stu.score){
17             return -1;
18         }else if(this.score < stu.score){
19             return 1;
20         } else{
21             if(this.age > stu.age){
22                 return 1;
23             }else if(this.age < stu.age){
24                 return -1;
25             }else{
26                 return 0;
27             }
28         }
29     }
30 }
31 
32 public class CompareDemo01 {
33 
34     public static void main(String[] args) {
35         Student stu[] = {new Student("zhangsan", 20, 90.0f),new Student("lisi", 18, 80.00f)};
36         java.util.Arrays.sort(stu);
37         for(int i=0;i<stu.length;i++){
38             System.out.println(stu[i]);
39         }
40     }
41 }

输出为:

zhangsan 20 90.0
lisi 18 80.0

 

如果去掉toString()方法:

 1 package arraySortDemo01;
 2 
 3 class Student implements Comparable<Student>{
 4     private String name;
 5     private int age;
 6     private float score;
 7     public Student(String name,int age,float score){
 8         this.name = name;
 9         this.age = age;
10         this.score = score;
11     }
12     //public String toString(){
13     //    return name + "\t" + age + "\t" + score;
14     //}
15     public int compareTo(Student stu) {
16         if(this.score >stu.score){
17             return -1;
18         }else if(this.score < stu.score){
19             return 1;
20         } else{
21             if(this.age > stu.age){
22                 return 1;
23             }else if(this.age < stu.age){
24                 return -1;
25             }else{
26                 return 0;
27             }
28         }
29     }
30 }
31 
32 public class CompareDemo01 {
33 
34     public static void main(String[] args) {
35         Student stu[] = {new Student("zhangsan", 20, 90.0f),new Student("lisi", 18, 80.00f)};
36         java.util.Arrays.sort(stu);
37         for(int i=0;i<stu.length;i++){
38             System.out.println(stu[i]);
39         }
40     }
41 }

输出结果为:

[email protected]
[email protected]

以上是关于toString()方法的主要内容,如果未能解决你的问题,请参考以下文章

toString()方法

3覆盖toString方法

toString方法

java toString()

java重写toString()方法

toString( )