Java和泛型的使用?

Java和泛型的使用?,java,android,generics,Java,Android,Generics,我希望能够将2个泛型类型传递给我的类 第一个泛型类型可以是任何类型 第二个泛型类型必须是某个对象的列表 我怎样才能做到这一点?下面的代码没有编译,它只是显示了我的目标 public class AbstractGroupedAdapter<T, List<Y>> extends ArrayAdapter<Y> { protected Map<T, List<Y>> groupedItems; protected T

我希望能够将2个泛型类型传递给我的类

  • 第一个泛型类型可以是任何类型
  • 第二个泛型类型必须是某个对象的列表
我怎样才能做到这一点?下面的代码没有编译,它只是显示了我的目标

public class AbstractGroupedAdapter<T, List<Y>> extends ArrayAdapter<Y> {

   protected Map<T, List<Y>> groupedItems;

   protected T getHeaderAtPosition(int position) {
      // return the correct map key
   }

   protected Y getItemAtPosition(int position) {
      // return the correct map value
   }

   @Override
   public int getCount() {
      return groupedItems.size() + groupedItems.values().size();
   }
}
公共类AbstractGroupedAdapter扩展了ArrayAdapter{
受保护地图组;
受保护的T形头部位置(内部位置){
//返回正确的映射键
}
受保护的Y getItemAtPosition(内部位置){
//返回正确的映射值
}
@凌驾
public int getCount(){
返回groupedItems.size()+groupedItems.values().size();
}
}

在Java中,不能在泛型类型参数的名称声明中限定泛型类型参数。相反,请正常声明类型参数并在泛型绑定中使用它,即:

public class AbstractGroupedAdapter<T,Y> extends ArrayAdapter<List<Y>> {


  protected Map<T, List<Y>> groupedItems;

   protected T getHeaderAtPosition(int position) {
      // return the correct map key
   }

   protected Y getItemAtPosition(int position) {
      // return the correct map value
   }

   @Override
   public int getCount() {
      return groupedItems.size() + groupedItems.values().size();
   }
}
公共类AbstractGroupedAdapter扩展了ArrayAdapter{
受保护地图组;
受保护的T形头部位置(内部位置){
//返回正确的映射键
}
受保护的Y getItemAtPosition(内部位置){
//返回正确的映射值
}
@凌驾
public int getCount(){
返回groupedItems.size()+groupedItems.values().size();
}
}

try
public class AbstractGroupedAdapter extends etc