Java文字列の中で何個の文字の何個のchar、バイトがあります

1023 ワード

JavaではCharは2バイトであり,CharはJavaではコードユニット(Code Unit)とも呼ばれる.Javaの文字はコードポイント(Code Unit)に1つずつ対応し、1つまたは2つのコードユニットに対応する場合があります.
文字列のlength()メソッドは、コードユニットの長さを取得できる、すなわちcharの個数、すなわちlength()メソッドの戻り値が実際の文字の個数より大きい場合がある
class Main {
    public static void main(String[] args) {
        String he = "⑪1 ";	//   ,  emoji      char
        System.out.println("    :"+he.length());
        //             
        //     2,            
        System.out.println("  :"+he.codePointCount(0, he.length()));
        //     ,                
        System.out.println(he.charAt(0));
        System.out.println(he.charAt(1));
        System.out.println(he.charAt(2));
        
        System.out.println(he.charAt(3));
        System.out.println(he.charAt(4));
        //    char           ,        
        System.out.println("----------------------");
    }
}

出力:
    :5
  :4
⑪
1
 
?
?
----------------------

リファレンス
Java文字列にはいったい何文字がありますか?|鳥の巣