0

次の機能を実行する関数を作成する必要があります

4

2 に答える 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 に答える