黑马程序员技术交流社区

标题: 数组中toString方法的问题 [打印本页]

作者: 罗广伟    时间: 2013-6-18 17:32
标题: 数组中toString方法的问题
  1. import java.util.*;
  2. class Test
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 char[] s={'a','d','f','c','w'};
  7.                 System.out.println(s);
  8.                 char[] a={'u'};
  9.                
  10.                
  11.                 System.out.println(a.toString(s));//¥¥¥¥¥¥¥¥¥¥¥
  12.                 System.out.println(Arrays.toString(s));
  13.                
  14.         }
  15. }
复制代码
为什么数组中toString方法,用a调用就不行呢?错误提示:The method toString() in the type Object is not applicable for the arguments (char[]) 。问题在¥¥¥行。

作者: shang1jk    时间: 2013-6-18 17:51
a.toString(s);这句用a调用toString方法, 其实调用的是Object类的toString.
而Object类的toString方法默认是不接收参数的, 所以用a调用的时候会报那个错.

而Arrays重写了toString方法使其可以接受char[]参数.
作者: 罗广伟    时间: 2013-6-18 17:56
shang1jk 发表于 2013-6-18 17:51
a.toString(s);这句用a调用toString方法, 其实调用的是Object类的toString.
而Object类的toString方法默认 ...

明白了,多谢
作者: 薛淑凯    时间: 2013-6-18 17:59
楼上正解。。
作者: 李晓峰    时间: 2013-6-18 18:04
String toString() 字符串的String方法没有参数的,一般用于将基本数据类型转换成字符串。数组转成字符串可以用Arrays中的toString方法,也可以重新构造一个带字符数组的String构造函数。
作者: 世界公民    时间: 2013-6-18 18:05
a是一个具体的数组对象,a的toString方法只能是没参数的,也就是只能把自己展现出来而不能去把其他的数组展现出来。而Arrays是一个工具类对象他的一个作用就是能用toString(数组)方法返回指定数组内容的字符串表示形式。
作者: 孙百鑫    时间: 2013-6-22 02:08
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~
作者: 罗广伟    时间: 2013-6-23 09:29
孙百鑫 发表于 2013-6-22 02:08
楼主您好~帖子长时间未作出回答,我已经将您的帖子改成已解决。如果有问题的话可以私密我哦~ ...

不知道现在怎么把问题改为已解决。找不见编辑的按钮了。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2