Java 我能';t设置异步任务的结果参数的上限
我试图为AsyncTask的结果参数设置一个上限,如下所示:Java 我能';t设置异步任务的结果参数的上限,java,android,generics,android-asynctask,upperbound,Java,Android,Generics,Android Asynctask,Upperbound,我试图为AsyncTask的结果参数设置一个上限,如下所示: public class MyTask extends AsyncTask<T, Long, V extends Model> 公共类MyTask扩展了AsyncTask 编译器抱怨“不应使用扩展,它应使用逗号。” 我试着将模型作为抽象类和常规类来编写 有什么想法吗 谢谢,, David由于T和V是未解析的类型参数,因此需要对它们进行参数化。尝试声明以下内容: public class MyTask<T, V
public class MyTask extends AsyncTask<T, Long, V extends Model>
公共类MyTask扩展了AsyncTask
编译器抱怨“不应使用扩展,它应使用逗号。”
我试着将模型作为抽象类和常规类来编写
有什么想法吗
谢谢,,
David由于
T
和V
是未解析的类型参数,因此需要对它们进行参数化。尝试声明以下内容:
public class MyTask<T, V extends Model> extends AsyncTask<T, Long, V>
这里,MyClass
正在声明类型参数T
和V
。声明类型参数时,可以选择使用extends
对其进行绑定T
没有边界-它可以是任何引用类型V
的上限为Model
-它必须是属于或扩展了模型的某种类型
extends AsyncTask<T, Long, V>
扩展异步任务
与任何不扩展对象的类的声明一样,这意味着MyTask
扩展了AsyncTask
——我相信您对此非常了解。有三个类型参数:在其声明中称为Params
、Progress
和Result
。这里,MyTask
为这些类型参数提供类型参数-T
、Long
和V
因此,MyTask
将Params
保留为一个无界类型参数,用具体类型Long
解析Progress
,并用模型限定结果
extends AsyncTask<T, Long, V>
有关泛型的详细介绍,请参见。然后查看以了解更多问题。这是一个打字错误,还是您实际上有呼叫
而不是类
?…是的,这是一个打字错误。我编辑了这篇博文,谢谢,但我不知道有什么不同。为什么可以扩展子类而不能扩展基类?忽略进度参数是否重要?