【发布时间】:2014-08-19 09:50:39
【问题描述】:
在 Java 中,是否保证 toCharArray 方法总是为被认为相等的字符串返回相同的表示?
我认为不会。我会争论以下几点:
相等的字符串不一定是由相同的字符创建的。例如:
ö 的 Unicode 代码点是 U+00F6。 Ö 是 U+00D6。它也可以通过将字符 U+0308 “COMBINING DIAERESIS”与“o”或“O”合成来创建。 src
如果一个字符串要返回创建它的字符数组(对于比较相等的字符串可能不同),那么 toCharArray 将返回不同的值。
除此之外,还有 Java 版本的更改,导致 Unicode 层的修复或更改(这应该很明显)。
【问题讨论】:
标签: java string unicode equals