次の機能を実行する関数を作成する必要があります
質問する
101 次
2 に答える
1
これに注意してください:
fqField.substring(quoteEnd+1, fqField.length());
新しい文字列を作成するのではなく、参照された文字列の文字配列を使用します。つまり、100,000 文字の配列があり、その 2 文字の部分文字列を取得すると、部分文字列は元の 100,000 文字を参照します。これは、元の文字列への参照を破棄した場合でも当てはまります。
これを行う場合:
new String(fqField.substring(quoteEnd+1, fqField.length()));
次に、これにより、新しい基になる文字配列を使用して、新しい文字列が作成されます。その後、オリジナルを破棄することができ、オリジナルのためにメモリを消費することはありません。
于 2013-01-04T10:43:14.483 に答える
1
作成している ArrayList の「プレフィックス」には、リストのデフォルト サイズがあります。適切なサイズを追加できます。
String の代わりに char を使用するのはどうですか? それを params として渡すオプションはありますか?
「プレフィックス」を最初から ArrayList にして後で変換するのではなく、最初から String (または char) の配列にするのはどうですか。
于 2013-01-04T10:47:45.397 に答える