0

我是Java的新手,我已经在互联网上搜索过了。但我不能正确这是我关于下一个代码的问题:

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>意思?
  2. 是什么Class<? extends AbstractAsyncTask<TTask>>意思?

感谢您的任何网站或阻碍或示例。

4

1 回答 1

2

您可以在泛型教程中找到有关您的问题的所有信息。但是给你至少“一些东西”

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被称为类型变量。它们就像保存您传递的任何类型 ( String, Integer, ) 的变量。AnyUserDefinedClass如果你通过

List<String> list

作为get方法的第一个参数,TList方法内部所有出现的 都将替换为String

2)Class<? extends AbstractAsyncTask<TTask>>特别是这部分<? extends AbstractAsyncTask<TTask>> 意味着可以将任何子类AbstractAsyncTask<TTask>(或任何扩展AbstractAsyncTask<TTask>)放置在这里,这里TTask又是一个包含您传递的任何类型的变量。

进一步阅读:Java中的协变和逆变

于 2013-02-13T03:20:42.080 回答