0

我的理解是,当您尝试插入不兼容类型的对象时,您会收到ArrayStoreException 。

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

有人可以举例说明我什么时候会得到ArrayStoreException,什么时候会得到ClassCastException

4

2 回答 2

2

AClassCastException正在转换为错误的子类,请参阅 Java 1.6 API 以获取所有异常和类信息。

这是取自 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 回答