2012-10-28 76 views
0

我需要传递给次要活动定义为对象:错误铸造的ArrayList

public class Campionati extends ArrayList<Campionato> implements Serializable { 

我能够创建包含该对象的额外。 在二次活动的onCreate()函数我去的码来检索数据:

Bundle b = getIntent().getExtras(); 
if (b!=null) { 
     Serializable s = b.getSerializable("datiSport"); 
     Campionati m_campionati = (Campionati)s; 

两个B和s对象是好的和s的类型为ArrayList的。 最后一个命令生成异常:

Java.lang.ClassCastException:java.util.ArrayList中

是什么意思? 我不明白为什么演员是不可能的。

回答

4

这是什么意思?我不明白为什么演员是不可能的。

这意味着有问题的对象是某种ArrayList而不是Campionati

你的继承关系意味着任何Campionati可以作为ArrayList对待 - 但相反的是如此。如果有问题的对象实际上是,则只能投射到CampionatiCampionati或子类的实例。