我有这段代码
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/AndroidRuntime(26440): Caused by: java.lang.ClassCastException: java.lang.Object[] cannot be cast to com.zoomer.offers.Offer[]
我怎样才能正确投射?
答案 0 :(得分:0)
无法将object[]
强制转换为T[]
,其中T
是一个abitrary类。
但你可以使用
Offer[] array = Arrays.copyOf(a, a.length, Offer[].class);
其中a是来自
的返回数组extras.getSerializable(PublicMacros.OFFERS_LIST);
或者你可以遍历数组中的每个元素并将每个元素转换为自己的元素。