H5W3
当前位置:H5W3 > 问答 > 正文

字节数组为什么不能使用valueof();方法

字节数组为什么不能使用valueof();方法
如题。谢谢大家了~

回答

问题描述有点不清楚哦,是问的JavaString.valueOf()吗?

以下回答仅仅针对JavaString.valueOf():

String.valueOf() 方法其实很简单,只做了一件事,帮我们创建了一个String对象,譬如char[] 转为字符串:

public static String valueOf(char data[]) {  
    return new String(data);  
}

至于为什么不提供byte[] 到字符串的转换,我认为是因为编码的缘故:
byte到char的转换,是需要指明编码的,同样一个 byte 数组,在不同的编码格式下,对应的字符串是不一样的。valueOf 如果要支持 byte 数组,那么就需要两个参数,形如: String.valueOf(byte[] bytes, Charset charset)

因此我猜想,这样 valueOf ,还不如让开发者直接调用public String(byte bytes[], int offset, int length, Charset charset)呢。

本文地址:H5W3 » 字节数组为什么不能使用valueof();方法

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址