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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 风云 中级黑马   /  2013-5-30 07:40  /  1584 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 风云 于 2013-5-31 12:01 编辑

我想问一下在什么情况下才用到tostring,对这个方法的用途有点模糊,越详细越好

点评

Akm
在对象打印的时候将默认调用toString()方法;如果希望返回一个具体类的信息,则要覆写toString()方法。  发表于 2013-5-31 10:52

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
本帖最后由 ____囧 于 2013-5-30 08:35 编辑

toString 是Object类中的方法.作用是返回该对象的字符串表示.
一般我们用tostring时,根据需求重写的toString, 组织自己想要显示的当前对象的信息。

比如按一定规则格式返回 所以属性的名称及值。
  1. package com.dmm.javase;

  2. public class ToStringDemo {

  3.         /**
  4.          * @param args
  5.          */
  6.         //重写tostirng,按我想要的格式返回
  7.         public static  String toString(String s){
  8.                
  9.                 return "我是" + s;
  10.         }
  11.   
  12.         public static void main(String[] args) {
  13.                 String s = new String("张三");
  14.                 //直接调用toString
  15.                 System.out.println(s.toString());
  16.                 //调用重写toString
  17.                 System.out.println(toString(s));;
  18.                
  19.                
  20.         }

  21. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报

toString方法返回对象的字符串表示,它是Object的方法。当出现System.out.println(XXX)时,
就会调用对应的toSting方法,XXX表示对象或者基本数据类型。我们可以在自己创建的类中覆盖
toString方法,下面的例子就是在Student类中覆盖toString方法

  1. class Student {
  2.         private String name;
  3.         private int age;
  4.        
  5.         public Student(String name, int age) {
  6.                 this.name = name;
  7.                 this.age = age;
  8.         }
  9.        
  10.         //覆盖toString方法
  11.         public String toString() {
  12.                 System.out.println("调用 Student 的 toString方法 ");
  13.                 return name+" "+age;
  14.         }
  15. }

  16. public class ToStringTest {
  17.         public static void main(String[] args) {

  18.                 //输出Student对象,会调用Student类的toString方法
  19.                 System.out.println(new Student("Steve", 20));
  20.                
  21.                 /* 运行结果:
  22.                  * 调用 Student 的 toString方法
  23.                  * Steve 20
  24.                  */
  25.         }
  26. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
回复 使用道具 举报
是啊,是啊。,是啊啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马