Java和泛型的使用?
我希望能够将2个泛型类型传递给我的类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
- 第一个泛型类型可以是任何类型
- 第二个泛型类型必须是某个对象的列表
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();
}
}
trypublic class AbstractGroupedAdapter extends etc