0

私の理解では、互換性のない型のオブジェクトを挿入しようとするとArrayStoreExceptionが発生します。

Object[] array = new String[1];
array[0] = 1; 

誰かが例を挙げて、いつArrayStoreExceptionを取得し、いつClassCastExceptionを取得するのか説明できますか?

4

2 に答える 2

2

AClassCastExceptionは間違ったサブクラスにキャストしています。すべての例外およびクラス情報については、Java1.6APIを参照してください。

これはAPIからの例です。

 Object x = new Integer(0);
 System.out.println((String)x);
于 2012-10-23T16:37:38.320 に答える
0

次のようなことをすると、ClassCastException が発生します。

public void stupidMethod(Object o)
{
    //Classcast if o is not a String
    String s = (String)o;

    //do more stupid things
}

arraystoreexception も同様です。

public void stupidMethod()
{
    Object[] array = new String[2];
    //whoops arraystoreexception
    array[0] = new Integer();
}

ここに投稿するのではなく、今後これらの例外の API を読む必要があります。

グーグルだけjava api (class name)で、私が入力するよりも多くの情報が得られます.

于 2012-10-23T16:27:01.903 に答える