我知道使用new String(..)
会创建一个新对象,其中文字将存储在字符串池中并重复使用。
这是否有实时用例?我什么时候需要使用new String(..)
?
为什么String.valueOf(char[])
或String.valueOf(byte[])
旨在创建新的String对象?您是否无法以编程方式将char[]
添加到字符串池中?
答案 0 :(得分:0)
一个很好的理由是如果处理以UTF以外的其他方式编码的字符串。如果您的数据来自某些奇怪的ASCII(甚至是EBCDIC)代码页,您可以将其作为字节数组与源代码页一起传递,而String构造函数将为您转换为UTF。