黑马程序员技术交流社区

标题: 请教Arrays.toString(byte[])和new String(byte[])的区别 [打印本页]

作者: 潜伏    时间: 2013-12-2 11:28
标题: 请教Arrays.toString(byte[])和new String(byte[])的区别
经常遇到。最好详细点,谢谢
作者: 江南小道士    时间: 2013-12-2 11:52
好深奥。。。表示不会。。。坐等楼下给答案。。。
作者: 肖川    时间: 2013-12-7 23:21

String public String(byte[] bytes)通过使用平台的默认字符集解码指定的 byte 数组,构造一个新的 String。新 String 的长度是字符集的函数,因此可能不等于 byte 数组的长度。
它还有重载形式
String()   初始化一个新创建的 String 对象,使其表示一个空字符序列。
String(byte[] bytes, Charset charset)  , String(byte[] bytes, int offset, int length)等
其方法是新建一个String对象,然后将byte数组的值放进去。

而Arrays中的toString方法,它是一个静态方法。
public static String toString(byte[] a)返回指定数组内容的字符串表示形式。字符串表示形式由数组的元素列表组成,括在方括号("[]")中。
相邻元素用字符 ", "(逗号加空格)分隔。这些元素通过 String.valueOf(byte) 转换为字符串。如果 a 为 null,则返回 "null"。从1.5版本开始:





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