20

文字列はJava 9の内部でどのように実装されていますか? 各文字は 1 バイトまたは 2 バイトとして格納されますか?

4

1 に答える 1

25

String のほとんどの使用法は Latin-1 であり、1 バイトしか必要としないため、Java-9 の String は、バイト配列であるかどうかを示すエンコーディング フラグ フィールドを持つバイト配列として内部で実装されるように更新されます。文字が Latin-1 ではなく、1 バイト以上を必要とする場合、UTF-16 文字配列 (1 文字あたり 2 バイト) およびフラグとして格納されます。JEP 254を参照してください。

于 2016-07-05T21:51:12.040 に答える