コアJavaから、vol。1、第9版、p。69:
文字 ℤ には、UTF-16 エンコーディングで 2 つのコード単位が必要です。通話中
String sentence = "ℤ is the set of integers"; // for clarity; not in book char ch = sentence.charAt(1)
はスペースを返しませんが、ℤ の 2 番目のコード単位を返します。
しかし、それはスペースを返すよう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 を使用しています。