来自核心 Java,第一卷。1,第 9 版,第 69:
字符 ℤ 在 UTF-16 编码中需要两个代码单元。打电话
String sentence = "ℤ is the set of integers"; // for clarity; not in book char ch = sentence.charAt(1)
不返回空格,而是返回 ℤ 的第二个代码单元。
但似乎sentence.charAt(1)
确实返回了一个空格。例如,if
以下代码中的语句计算结果为true
。
String sentence = "ℤ is the set of integers";
if (sentence.charAt(1) == ' ')
System.out.println("sentence.charAt(1) returns a space");
为什么?
如果相关,我在 Ubuntu 12.10 上使用 JDK SE 1.7.0_09。