Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
6年前关闭。
我是Java的新手,我已经搜索了Internet。但是我做对了
这是我对下一个代码的疑问:
感谢您的任何网站或障碍或榜样。
是Generic Method
1)
作为
2)
进一步阅读:Covariance and Contravariance in java
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
6年前关闭。
我是Java的新手,我已经搜索了Internet。但是我做对了
这是我对下一个代码的疑问:
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>>
是什么意思?感谢您的任何网站或障碍或榜样。
最佳答案
您可以在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)
是Generic Method
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
还是一个变量,它保存您传递的任何类型。进一步阅读:Covariance and Contravariance in java
10-02 09:37