私は文字列の巨大なセットを持っています。各文字列の長さを見つけてそれらを追加し、文字列の全長を表示したいと考えています。
長さを計算するためにメソッド as を使用しますstring.length()
が、length() のデータ型が int であり、int の最大サイズが 2,147,483,647 であることに気付きました。しかし、私の文字列オブジェクトには 2,147,483,647 を超える文字があります。int 制限を超えたときに長さを取得する方法はありますか?
私は文字列の巨大なセットを持っています。各文字列の長さを見つけてそれらを追加し、文字列の全長を表示したいと考えています。
長さを計算するためにメソッド as を使用しますstring.length()
が、length() のデータ型が int であり、int の最大サイズが 2,147,483,647 であることに気付きました。しかし、私の文字列オブジェクトには 2,147,483,647 を超える文字があります。int 制限を超えたときに長さを取得する方法はありますか?
ただし、私の文字列オブジェクトには2,147,483,647を超える文字があります
私はそれを疑います: String はchar[]
文字を格納するために a を使用し、配列はそれ以上のInteger.MAX_VALUE
要素を保持することはできません。この投稿も参照してください。
複数の文字列の長さを単純に追加する必要がある場合は、代わりに long 変数を使用できます。
それより長い文字列を持つことはできません。
Integer.MAX_VALUE
は、文字列オブジェクトを格納するために使用される内部文字配列のインデックス作成の上限であるため、それよりも長い文字列を持つ方法はありません。
Javaでは、文字列オブジェクトの長さを超えることはできない Integer.MAX_VALUE
ため、string.lengthが機能しますが、文字列セット全体の長さを超える Integer.MAX_VALUE
場合は、long型変数を使用して、文字列セット全体の長さの値を格納できます