String[]とStringBufferについて

[戻る]
コシノハリ 2008/12/06(土) 21:48:22
文章データ(20KB程度)があるとして、それをヒープに読み込んで使用する場合につい
て質問です。

1:    String[3000]
文章データを任意の長さで分割して表示行ごとに配列に入れる

2:    StringBuffer(文字列データ分20KB程度)
文章データを容量分入れて、任意の長さ&改行コードで分割された位置と、その行の長
さは別のint配列に入れておく。

2の方が良いんだろうなとは思うんですが、1でいけないかと考えています。1の場合の問
題としては、String配列を3000も確保して、メモリ的に問題ないか?ということ。内部
でどのようにメモリ確保されるのか?が心配なんですが、メモリの断片化はあっても、2
と同じ程度のヒープの消費で済むものでしょうか?。JVMの実装によるので、環境依存だ
ったりしますか?。String配列も内部ではStringBufferで容量確保していて(初期16バイ
ト)、入れた文字列がそれ以上であれば、その分のメモリを確保するだけで、3000程度の
配列を確保するのはそんなに大したことではない?と良いなぁ…と思っているんです
が、どうなんでしょうか?。

コシノハリ 2008/12/06(土) 21:58:33
[[解決]]
間違えた

古いスレッドには追加発言できません。