0

次のような文字列配列があります。

 String[] abc= new String[]{};

私のリストにはいくつかの値があります。リストを反復処理し、各リスト要素を文字列配列に追加します。

for(int i=0; i<errList.size(); i++)
            {
                abc[i] = errList.get(i).getSrceCd();
            }

errList.size() には 6 つの値があります。しかし、for ループが実行されると、java.lang.ArrayIndexOutOfBoundsException が発生します。入力はありますか?

4

5 に答える 5

5

String[]長さゼロのオブジェクトを作成しています。そのため、アイテムを に割り当てようとするとabc[i]、境界内にないインデックスにアクセスしています0 <= i < 0

abc代わりに長さを割り当てる必要があります。

String[] abc= new String[errList.size()];
for(int i=0; i<errList.size(); i++)
{
    abc[i] = errList.get(i).getSrceCd();
}
于 2013-04-11T19:32:41.497 に答える
0

リストと同じサイズの文字列配列を作成する必要があります。動的ではありません。おそらく、この演習で何を達成しようとしているのかがわかります。

于 2013-04-11T19:32:28.637 に答える
0

コレクションフレームワークで広く使用されている for each ループを使用しようとしましたか?

于 2013-04-11T19:35:02.380 に答える
0

私はこれをするだけです

String[] abc= errList.toArray(new String[errList.size()]);
于 2013-04-11T19:53:13.487 に答える