黑马程序员技术交流社区

标题: 对于数组来说Array.toString()和String的区别 [打印本页]

作者: 何超    时间: 2013-11-17 16:31
标题: 对于数组来说Array.toString()和String的区别
本帖最后由 何超 于 2013-11-17 19:09 编辑
  1. import java.util.*;
  2. class A
  3. {
  4.         public static void main(String[] args)
  5.         {
  6.                 String s="你好";

  7.                 byte[] b1=s.getBytes();

  8.                 System.out.println(new String(b1));
  9.         }
  10. }
复制代码
就这个代码  如果是这样的 那么结果是输出你好  如果System.out.println(new String(b1))改成了 (Arrays.toString(b1))
结果就是 [-60, -29, -70, -61]
为什么?  这两个都是把字符数组编程字符串啊  为什么结果是这样的?new String()是解码但是Array.toString()系统说明也是转换成字符串啊
难道Array.toString是将数组里存放的元素对应的编码表里的数字变成字符串?

作者: Weix1992    时间: 2013-11-17 16:37
看JDK文档,很详细了
  1. public static String toString(byte[] a)返回指定数组内容的字符串表示形式。字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。这些元素通过 String.valueOf(byte) 转换为字符串。如果 a 为 null,则返回 "null"。

  2. 参数:
  3. a - 返回其字符串表示形式的数组
  4. 返回:
  5. a 的字符串表示形式
  6. 从以下版本开始:
  7. 1.5
复制代码

作者: 冷月    时间: 2013-11-17 18:29
好好研究一下帮助文档  你会明白的




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