即使指定了通用绑定,也会出现未选中的强制转换警告

时间:2016-09-01 16:30:59

标签: java generics

我的项目中有以下泛型方法,它将返回一个依赖于给定类的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警告,因为它是从BaseModelT的未经检查的演员。

为了解决这个问题,我在这里添加了界限:

public <T extends BaseModel> T getObjectfromList(Class<T> clazz) {
   for (BaseModel model : items) {
      if (model.getClass().equals(clazz))
         return (T) model;
      }

      return null;
   }
}

但是,仍然会出现棉绒警告。我该如何解决这个问题?

0 个答案:

没有答案