A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 你的昵称 中级黑马   /  2016-7-23 09:44  /  873 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 你的昵称 于 2016-7-23 10:03 编辑

所有的类都是Object的子类,而toString()方法又是Object的方法!那么所有的对象都可以引用 toString()方法!也可以重写toString方法!
问题来了:
1.toString方法有什么用?
2.重写toString会有什么影响?
3.toString什么时候调用的?比如下列代码重写了toString,输出效果会有什么改变?
如果不写toString结果又会怎么样?
  1. import java.util.*;
  2. class Student{
  3.         String id;
  4.         String name;
  5.         public Student(String id,String name){
  6.                 this.id=id;
  7.                 this.name=name;
  8.         }
  9.         public String toString(){
  10.                 return id+":"+name;
  11.         }
  12. }

  13. public class Tostring {

  14.         public static void main(String[] args) {
  15.                 HashSet hs=new HashSet<>();
  16.                 Student s1=new Student("1", "jack");
  17.                 Student s2=new Student("2", "marry");
  18.                 Student s3=new Student("1", "jack");
  19.                 hs.add(s3);
  20.                 hs.add(s2);
  21.                 hs.add(s1);
  22.                 System.out.println(hs);
  23.         }

  24. }
复制代码


3 个回复

倒序浏览
还是顶。。。。
回复 使用道具 举报
1.toString()方法可以返回一个对象的字符串的表示,Object的toString()方法返回的是“对象的名称+@+无符号哈希码的十六进制”的形式的字符串
2.重写toString()方法可以自己的方式把想要的对象的信息以自己定义的形式返回。如:
  1. public class Person{
  2.   private String name;
  3.   public void setName(String name){
  4.     this.name = name;
  5.   }
  6.   public String getName(){
  7.     return this.name;
  8.     }
  9.   public String toString(){
  10.    return "人物的名称为:"+name;  
  11.   }
  12. }
复制代码

3.toString()方法可以在将对象信息打印到控制台或者将其它类型的数据转换成String类型的时候调用(注意:基本数据类型不可用)
回复 使用道具 举报
反正就是为了打印属性值使的- -。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马