您的位置:首页 > 移动开发 > Objective-C

AsyncTask java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.Void[] 异常

2015-10-21 09:51 615 查看
最近在学习使用AsyncTask,想用多态的思想使用即:编译类型不等于运行时类型(编译类型必须是运行时类型的父类或者运行时类型实现了编译类型接口)

private AsyncTask mCacheTask = new CacheTask();

结果出现了java.lang.ClassCastException: java.lang.Object[] cannot be cast to java.lang.Void[] 异常信息。

针对这种情况有两种解决方法:

1、不使用多态的方法 即让 编译类型等于运行时类型。

CacheTask mCacheTask = new CacheTask();

2、继续使用多态,不过这时候就需要将声明的类型信息写全:

mCacheTask = new CacheTask();

AsyncTask<String, Void, ListEntity<T>> mCacheTask = new CacheTask();

这样就不会出现异常。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: