1
在Java中,是否可以保證toCharArray方法總是返回相同的字符串表示形式?我想不是。我想不是。我會爭辯以下幾點:字符串的字符表示是否不同並且是固定的?
相等的字符串不一定是由相同的字符創建的。例如:
ö的Unicode代碼點是U + 00F6。 Ö是U + 00D6。它也可以通過將字符U + 0308「合併透視」與「o」或「O」合成來創建。 src
如果一個字符串返回它創建的char數組(它可能與比較相等的字符串不同),那麼toCharArray將返回不同的值。
除此之外,還有Java版本更改,導致Unicode層中的修復或更改(這應該是顯而易見的)。
我很驚訝地發現String沒有使用Unicode比較。 – mafu
@mafu一個字符串有一個unicode字符,另一個有兩個字符。他們可能看起來一樣,但他們不是。 –