浅析JAVA中toString方法的作用

论坛 期权论坛 脚本     
niminba   2021-5-23 02:56   994   0

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

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

总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法
 
回答补充:
写这个方法的用途就是为了方便操作,所以在文件操作里面可用可不用
例子1:

复制代码 代码如下:

public class Orc
{
       public static class A
       {
              public String toString()
              {
                     return "this is A";
              }
       }
       public static void main(String[] args)
       {
              A obj = new A();
              System.out.println(obj);
       }
}


如果某个方法里面有如下句子:
A obj=new A();
System.out.println(obj);
会得到输出:this is A



例子2:

复制代码 代码如下:

public class Orc
{
       public static class A
       {
              public String getString()
              {
                     return "this is A";
              }
       }
       public static void main(String[] args)
       {
              A obj = new A();
              System.out.println(obj);
              System.out.println(obj.getString());
       }
}


会得到输出:xxxx@xxxxxxx的类名加地址形式
System.out.println(obj.getString());
会得到输出:this is A



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

复制代码 代码如下:

public class Zhang
{
       public static void main(String[] args)
       {
              StringBuffer MyStrBuff1 = new StringBuffer();
              MyStrBuff1.append("Hello, Guys!");
              System.out.println(MyStrBuff1.toString());
              MyStrBuff1.insert(6, 30);
              System.out.println(MyStrBuff1.toString());
       }
}


值得注意的是, 若希望将StringBuffer在屏幕上显示出来, 则必须首先调用toString方法把它变成字符串常量, 因为PrintStream的方法println()不接受StringBuffer类型的参数.

复制代码 代码如下:

public class Zhang
{
    public static void main(String[] args)
    {
        String MyStr = new StringBuffer();
        MyStr = new StringBuffer().appen
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1060120
帖子:212021
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP