3

この場合、ArrayIndexOutOfBoundsException を回避することは可能ですか??

package com;

public class Hi {

    public static void main(String args[]) {

        String[] myFirstStringArray = new String[] { "String 1", "String 2",
                "String 3" };

        if (myFirstStringArray[3] != null) {
            System.out.println("Present");
        } else {
            System.out.println("Not Present");
        }

    }

}
4

3 に答える 3

2

配列では、数値とは異なる方法で測定されます。配列内の最初のオブジェクトは 0 と見なされます。したがって、if ステートメントでは、3 の代わりに 2 を入れます。

if (myFirstStringArray[3] != null) {
        System.out.println("Present");

 if (myFirstStringArray[2] != null) {
        System.out.println("Present");

お役に立てれば!:)

于 2013-07-18T12:07:10.413 に答える
0

配列Stringには3つの要素が含まれており、配列[3]にアクセスしています。つまり、0ベースのインデックスとして4番目の要素にアクセスしているため、このエラーが発生します(とにかく例外)。

ArrayIndexOutOfBoundsException指定されたインデックス範囲内のインデックスを使用しないようにします。そして、あなたのインデックスが>= array.length.

于 2013-07-18T12:07:50.440 に答える