valueOf
和copyValueOf
有什么区别。我查看了GrepCode,却发现两者都返回完全相同的东西。
copyValueOf:
参数:
数据字符数组。
返回:
一个字符串,其中包含字符数组的字符。
公共静态字符串copyValueOf(char data []){
返回新的String(data);
}
值:
返回char数组参数的字符串表示形式。字符数组的内容被复制;字符数组的后续修改不会影响返回的字符串。
参数:数据字符数组。
返回:
一个字符串,其中包含字符数组的字符。
公共静态字符串valueOf(char data []){
返回新的String(data);
}
因此,如果两者都做同一件事,那么为什么不弃用一个呢?
最佳答案
正如其他人指出的那样:
copyValueOf
显然会向读者指出(轻度)首选valueOf
方法。 唯一的另一个问题是为什么没有注释将方法标记为“过时”。我认为答案是,使用过期的API方法并不重要。当然,对于Java团队来说,实现这样一种机制并没有多大的作用……然后花大量时间确定某某API是否“过时”以保证进行标记等。(大多数人们不希望Java团队在这些事情上浪费时间。我们希望他们花时间在对Java的改进上,这些改进实际上是有实际意义的。)
解决此问题的更合适方法是使某人增强3rd-party的某些样式检查器或错误检查器工具,以标记使用(所谓的)过时的方法。显然这不是Oracle的问题...但是,如果您(@StarCoder)确实对此感到担心,则可以解决此问题。