我的项目中有以下泛型方法,它将返回一个依赖于给定类的BaseModel对象:
public <T> T getObjectfromList(Class<T> clazz) {
for (BaseModel model : items) {
if (model.getClass().equals(clazz))
return (T) model;
}
return null;
}
}
现在我在return (T) model
行上收到了一个lint警告,因为它是从BaseModel
到T
的未经检查的演员。
为了解决这个问题,我在这里添加了界限:
public <T extends BaseModel> T getObjectfromList(Class<T> clazz) {
for (BaseModel model : items) {
if (model.getClass().equals(clazz))
return (T) model;
}
return null;
}
}
但是,仍然会出现棉绒警告。我该如何解决这个问题?