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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

如下,这两个用起来都一样啊。有什么区别吗?
static String copyValueOf(char[] chs)
把字符数组转换成字符串底层调用new String(char[] chs)
static String valueOf(char[] chs)
把字符数组转换成字符串底层调用new String(char[] chs)

2 个回复

倒序浏览
我觉得你的疑问应该在char数组上吧?首先你得知道,String的底层是由char[]实现的:通过一个char[]类型的value属性!早期的String构造器的实现呢,不会拷贝数组的,直接将参数的char[]数组作为String的value属性。然后test[0] = 'A';将导致字符串的变化。为了避免这个问题,提供了copyValueOf方法,每次都拷贝成新的字符数组来构造新的String对象。但是现在的String对象,在构造器中就通过拷贝新数组实现了,所以这两个方面在本质上已经没区别了。我觉得这个解释还可以。有什么问题再问我。
回复 使用道具 举报
踩一下 嘎嘎嘎嘎嘎嘎灌灌灌灌灌
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马