【发布时间】:2014-04-30 05:19:33
【问题描述】:
假设我有一个衣柜,我可以放清单,清单,..
ArrayList<ArrayList<?>> wardrobe
然后我想列出特定类型的项目。
如果我说列出我所有的衬衫,
我想到了
public <T> ArrayList<?> getAllItems() {
for (ArrayList<?> itemList : wardrobe) {
Iterator<?> iterator = itemList.iterator();
if(iterator.hasNext()){
Object next = iterator.next();
if(next.getClass().equals(T)) return itemList;
}
}
return null;
}
- 但这是一个错误!我错过了什么吗(误解了泛型概念?)!
- 我怎样才能做到这一点?
我想打电话
<Shirt>getAllItems();
【问题讨论】:
-
@DineshKumar 如果你正在使用 T-Shirt 之类的键-> List 你可以使用 HashMap
> -
为什么在这种情况下还要费心使用泛型?为什么不简单地
ArrayList<ArrayList>> wardrobe -
@IwishIcouldthinkofagood:是的,没关系!但是我如何从中检索特定类型的列表?
-
instanceOf 不起作用吗?
-