1. ホーム
  2. java

[解決済み] Javaでの文字列の最大長 - length()メソッドの呼び出し

2022-02-14 22:36:14

質問内容

ジャワ の最大サイズはどのくらいですか? String オブジェクトが持つことができる。 length() メソッド呼び出し?

私が知っているのは length() のサイズを返します。 String として char [] ;

解決方法は?

を考慮した場合 String クラスの length メソッドは int の場合、このメソッドが返す最大の長さは Integer.MAX_VALUE であり、これは 2^31 - 1 (または約20億)

配列の長さとインデックスの観点から、(例えば char[] の内部データ表現が実装されているのでしょう。 String s), 第10章 配列 Java言語仕様書、Java SE 7版 には、次のように書かれています。

配列に含まれる変数 は名前を持ちません。 配列アクセス式で参照 非負の整数のインデックスを使用する の値です。これらの変数を コンポーネント の配列です。もし配列が は n コンポーネントを使用する場合、次のように言います。 n 長さ 配列の構成要素は を使用して参照されます。 からのインデックス 0 から n - 1 を含む。

さらに、インデックス付けは int の値で述べたように 10.4節 :

配列のインデックスには int の値を指定します。

したがって、どうやら限界は確かに 2^31 - 1 に対する最大値であるため、非負の int の値です。

ただし、配列に割り当て可能な最大サイズなど、他の制限もあるはずです。