【发布时间】:2010-07-15 15:37:05
【问题描述】:
我想知道在 Java 中是否可以通过参数传递类型。
让我解释得更好:
假设下一个代码
class Bee {
// Class implementation
}
class Worker extends Bee {
// Class implementation
}
class Queen extends Bee {
// Class implementation
}
现在用我的蜜蜂对象创建一个容器
Vector<Bee> x=new Vector<Bee>();
// ...
for(i=0;i<10;i++)
x.add(new Worker());
// ...
for(i=0;i<10;i++)
x.add(new Queen());
现在我想创建一个通用方法来迭代向量并返回具有特定类型蜜蜂、工蜂或蜂王的集合。如何做到这一点?
编辑
我试过了
search(x,Worker.class);
static public <T extends Bee> Set<T> search(List<Bee> bees, Class<T> clazz){
// ...
}
我收到错误报告“方法搜索(列表,类)不适用于参数(集,类)”。问题出在第二个参数上,因为类型不兼容。
【问题讨论】: