我试图通过标签一般地获取车辆。为什么我不能使用泛型Collection来获取车辆?CarTypeTagsandTruckTypeTags是CarType类和类的哈希图,从字符串(标签)索引TruckType扩展而来。VehicleType有没有办法让我将分配给类型集合的汽车或卡车归还?
奖励:是否clazz.getClass()将调用者的类返回到此方法?
public <T> Collection<T> getVehicleByTag(String tag) {
T clazz;
Collection<T> types;
if (clazz.getClass() == Car.class) {
types = (CarTypeTags.get(tag)); // error here: type mismatch
} else if (clazz.getClass() == Truck.class) {
types.addAll(TruckTypeTags.get(tag)); // error here too
}
if (types != null) {
return types;
}
return new ArrayList<T>();
}