JDK API java.lang 的Object类中的toString()方法


toString

public String toString()
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:

getClass().getName() + '@' + Integer.toHexString(hashCode())
 
返回:
该对象的字符串表示形式。



java.lang的String类中的toString()方法


toString

public String toString()
返回此对象本身(它已经是一个字符串!)。
指定者:
接口 CharSequence 中的 toString
覆盖:
类 Object 中的 toString
返回:
字符串本身。



java.lang的CharSequence接口中的toString()方法



toString

String toString()
返回一个包含此序列中字符的字符串,该字符串与此序列的顺序相同。字符串的长度就是此序列的长度。
覆盖:
类 Object 中的 toString
返回:
一个完全由此序列的字符组成的字符串



 

java.lang的Integer类中的toString()方法



toString
public String toString()返回一个表示该 Integer 值的 String 对象。将该参数转换为有符号的十进制表示形式,并以字符串的形式返回它,
就好像将该整数值作为参数赋予 toString(int) 方法一样。 

覆盖:
类 Object 中的 toString
返回:
该对象的值(基数 10)的字符串表示形式。

 

下面参考:http://www.javaweb.cc/language/java/032292.shtml

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

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

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

例子1:

 

public class A{
  public String toString(){return "this is A";}
  }
  如果某个方法里面有如下句子:
  A obj=new A();
  System.out.println(obj);
  会得到输出:this is A
  例子2:
  public class A{
  public String getString(){return "this is A";}//toString改个名字试试看
  }
  A obj=new A();
  System.out.println(obj);

  会得到输出:xxxx@xxxxxxx的一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成

System.out.println(obj.getString());

  会得到输出:this is A

  看出区别了吗,toString的好处是在碰到“println”之类的输出方法时会自动调用,不用显式打出来