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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lemon_tree 中级黑马   /  2014-8-1 23:15  /  1287 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

哪那些类里面用到toString方法,那些类的对象能够默认调用toString方法啊。

4 个回复

倒序浏览
字符串,还有集合都有用到,数组。toString不管在哪个类里面都是可以自己定义的,之前也一直很模糊为什么看视频的时候老师写了toString方法,下面直接调用toString就打印了name  age 或者Ip都打印出来了,后面才知道,toString就相当于你自己定义在类里面的方法,只是你调用了方法,你方法里面定义的是什么,返回的是什么,那么打印出来的就是你定义出来的东西了。不用再拿到变量的方法来调用get得到,直接方法toString里面就可以打印出结果,方便一点吧。
还有一个目的就是为了更直观的打印出你想要给用户看的东西,有些类自己有toString方法,但是不是和你想输出的类容一样,所以这个时候可以复写toString定义自己想让用户看到的东西。
回复 使用道具 举报
本帖最后由 玥夜 于 2014-8-1 23:35 编辑

Java所有的对象都可以使用toString()方法,因为它是定义在Object类中的方法,
输出语句System.out.println()中所有得输出对象都是调用此方法,
但是有的类中把Object的toString()方法给覆盖了 ,所以看到的输出结果会不一样
我这有个代码希望对你有帮助

  1. import java.util.Arrays;


  2. public class 字符转字符串 {

  3.         public static void main(String[] args)
  4.         {
  5.                 byte[] b=new byte[]{'b','y','t','e'};
  6.                 char[] ch=new char[]{'c','h','a','r'};
  7.                 int[] i= new int[]{'i','n','t'};
  8.                 String str1= new String("String");
  9.                 String[] strr= new String[]{"s","t","r","i","n","g"};
  10.                
  11.                
  12.                 System.out.println("直接输出");
  13.                 System.out.println(b);
  14.                 System.out.println(ch);
  15.                 System.out.println(i);
  16.                 System.out.println(str1);
  17.                 System.out.println(strr);
  18.                 System.out.println();
  19.                
  20.                 System.out.println("通过+"+"\"\"变成字符串输出");
  21.                 System.out.println("byte[]===="+b);
  22.                 System.out.println("char[]===="+ch);
  23.                 System.out.println("int[]====="+i);
  24.                 System.out.println("String[]====="+strr);
  25.                 System.out.println("str1===="+str1);
  26.                
  27.                 System.out.println();
  28.                 System.out.println();
  29.                
  30.                 System.out.println("Object中toString()方法变成字符串输出");
  31.                 System.out.println("byte[].toString()===="+b.toString());
  32.                 System.out.println("char[].toString()===="+ch.toString());
  33.                 System.out.println("int[].toString()====="+i.toString());
  34.                 System.out.println("String[].toString()====="+strr.toString());
  35.                 System.out.println("String.toString()====="+str1.toString());
  36.                
  37.                 System.out.println();
  38.                 System.out.println();
  39.                
  40.                 System.out.println("Array.toString(arr)方法变成字符串输出");
  41.                 System.out.println("Arrays.toString(byte[])===="+Arrays.toString(b));
  42.                 System.out.println("Arrays.toString(char[])===="+Arrays.toString(ch));
  43.                 System.out.println("Arrays.toString(int[])===="+Arrays.toString(i));
  44.                 System.out.println("Arrays.toString(String[])===="+Arrays.toString(strr));
  45.                
  46.                 System.out.println();
  47.                 System.out.println();
  48.         
  49.                 System.out.println("String.valueOf(arr)方法变成字符串输出");
  50.                 System.out.println("String.valueOf(byte[])===="+String.valueOf(b));
  51.                 System.out.println("String.valueOf(char[])===="+String.valueOf(ch));
  52.                 System.out.println("String.valueOf(int[])===="+String.valueOf(i));
  53.                 System.out.println("String.valueOf(int)====="+String.valueOf(6));
  54.                 //valueOf(Object obj) 返回 Object 参数的字符串表示形式。除了char类型和基本类型
  55.         
  56.                 System.out.println();
  57.                 System.out.println(new String(b));
  58.                
  59.         
  60.         }

  61. }
复制代码


回复 使用道具 举报
2楼自己的话总结的挺好
回复 使用道具 举报
所有类都有toString的方法,不信你随便写个类点一下就知道了。它属于object,所以支持被覆写。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马