我是Java的新手,我已经在互联网上搜索过了。但我无法做到正确 以下是关于下一个代码的问题:
protected <TTask, TList> void get(
final List<TList> list,
final Class<? extends AbstractAsyncTask<TTask>> asyncTaskClass,
final Class<TList> myTypeClass,
final Object... constructorParams)
<TTask, TList>
是什么意思?Class<? extends AbstractAsyncTask<TTask>>
是什么意思?感谢您的任何网站或阻碍或示例。
答案 0 :(得分:2)
您可以在the generics tutorial中找到有关您问题的所有信息。 但要给你至少“某事”
protected <TTask, TList> void get(
final List<TList> list,
final Class<? extends AbstractAsyncTask<TTask>> asyncTaskClass,
final Class<TList> myTypeClass,
final Object... constructorParams)
1)TTask
和TList
被称为Type Variables。它们就像包含您传递的任何类型(String
,Integer
,AnyUserDefinedClass
)的变量。如果你通过
List<String> list
作为get
方法的第一个参数,方法中TList
的所有出现都将替换为String
2)Class<? extends AbstractAsyncTask<TTask>>
特别是<? extends AbstractAsyncTask<TTask>>
部分意味着AbstractAsyncTask<TTask>
的任何子类(或任何扩展AbstractAsyncTask<TTask>
的子类)都可以放在这里,其中TTask
是再一次,一个包含你传递的任何类型的变量。