Java 如何将intent的额外对象[]强制转换为MyClas[]

Java 如何将intent的额外对象[]强制转换为MyClas[],java,android,serialization,casting,parcelable,Java,Android,Serialization,Casting,Parcelable,我有这个密码 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.offers_list); Intent callingIntent = getIntent(); if (callingIntent != null) { Bundle extras = callingIntent

我有这个密码

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.offers_list);

    Intent callingIntent = getIntent();
    if (callingIntent != null) {
        Bundle extras = callingIntent.getExtras();
        if (extras != null) {
            Offer[] offers = (Offer[]) extras
                    .getSerializable(PublicMacros.OFFERS_LIST);
        }
    }
我在执行后得到这个错误

02-19 01:59:52.291:E/AndroidRuntime26440:原因:java.lang.ClassCastException:java.lang.Object[]无法强制转换为com.zoomer.offers.Offer[]


如何正确地强制转换?

不可能将对象[]强制转换为t[],其中t是一个abitrary类

但是你可以用

Offer[] array = Arrays.copyOf(a, a.length, Offer[].class);
其中a是从中返回的数组

extras.getSerializable(PublicMacros.OFFERS_LIST);

或者,您可以迭代数组中的每个元素,并将每个元素转换为自己的元素。

检查。将Offer[]从一个活动发送到另一个活动的最佳做法是什么?活动是什么意思?android的活动。我想将数据从一个活动发送到另一个活动