我的理解是,当您尝试插入不兼容类型的对象时,您会收到ArrayStoreException 。
Object[] array = new String[1];
array[0] = 1;
有人可以举例说明我什么时候会得到ArrayStoreException,什么时候会得到ClassCastException?
我的理解是,当您尝试插入不兼容类型的对象时,您会收到ArrayStoreException 。
Object[] array = new String[1];
array[0] = 1;
有人可以举例说明我什么时候会得到ArrayStoreException,什么时候会得到ClassCastException?
AClassCastException
正在转换为错误的子类,请参阅 Java 1.6 API 以获取所有异常和类信息。
这是取自 API 的示例:
Object x = new Integer(0);
System.out.println((String)x);
如果您执行以下操作,则会发生 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)
,您将获得比我愿意输入的更多信息。