2011-01-07 9 views
0

ケース1を使用していて、何度もdoactionを呼び出すと、何かが間違ったレコードを表示します ケース2を使用すると、部門は常に正しいレコードを表示します。ケース2を使用するはずですか?リストを配列に使用する正しい方法は?

答えて

0

はい、ケース1では、分割の最後に余分なアイテムに問題が発生する可能性があります。例:最初にdoActionを呼び出し、除算が一定の長さに設定されていて、次に呼び出したときに必要なスペースが少なくても、配列に上書きされなかった余分な項目があります。

しかし、ケース2は、あなたが渡した配列(あなたの例では長さがゼロです)が十分に大きくないと、ArrayListは単に新しい配列を作成するだけなので便利です。

+0

のでのtoArray(新しいString [] {})ORのtoArray(新しいString [はlist.size()])のtoArray使用するための適切な方法は何である優先しますか? – cometta

+0

新しい配列を作成する場合、toArray(new String [list.size()])は正しいサイズを作成します。他の方法も同様に効率的ではないかもしれません。ケース1は、既存の配列内のデータを必要とする状況では許容されますが、これを提示した例では問題があります。 – jzd

0

ケース2は、それを使用する「より正確な」方法です。

本質的に、結果の配列をどのようなタイプにするかをメソッドに指示しています。

0

は、第二つだけ

divisions = (String []) testArray.toArray(new String [] {}); 
関連する問題