-3

add 関数hereの ArrayList ドキュメントを読むと、明らかに無効なインデックスに要素を追加すると、IndexOutOfBoundsException がスローされます。しかし、次のコードが例外をスローしないのはなぜでしょうか?

public static void main(String args[]){
        List cities = new ArrayList();
        cities.add("Atlanta");
        cities.add("Boston");

        try {
            for (int i = 10000000; i < cities.size(); i++){
                try {
                    cities.add(i, "+");
                } catch (Exception e) {
                    e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
                }
                System.out.println(cities.size());
            }
        } catch (Exception e) {
            e.printStackTrace();  //To change body of catch statement use File | Settings | File Templates.
        }

        System.out.println(cities);

    }

出力:

[Atlanta, Boston]

Process finished with exit code 0

私は現在jdk 7を使用しており、intellijのアイデアで実行しています。

4

3 に答える 3

7

1000000 >city.size() (2) であるため、for ループには入りません。

あなたのコードは完全に間違っています。

于 2013-07-31T11:25:34.340 に答える
0

i の値が 10000000 から始まり、2 (cities.size()) と比較すると、それより小さくなることはありません。

于 2013-07-31T11:28:09.893 に答える