我有一个有效的方法,但请给我一个警告,是否有任何解决方案可以彻底删除它?
在此方法中,我调用方法:
<T extends SonarContainPaging> T getSonarObjectFromPage(String url, Map<String, Object> uriVariables, Class<T> klass, List<T> page)
返回一个扩展 SonarContainPaging 的对象。
我尝试将扩展 SonarContainPaging 的对象添加到我的列表中,但我收到警告。
该SonarContainPaging对象有一个方法canContinuePaging,它接受一个页面整数并返回一个布尔值。
警告:
类型安全:从 SonarContainPaging 到 T 的未经检查的转换
private <T extends SonarContainPaging> void getSonarListContainingPaging(String url, Map<String, Object> uriVariables,
Class<T> klass, List<T> list) {
int page = 1;
SonarContainPaging sonarObject = getSonarObjectFromPage(url, uriVariables, klass, page);
page++;
list.add((T)sonarObject); // Warning
while (sonarObject.canContinueLooping(page)) {
sonarObject = getSonarObjectFromPage(url, uriVariables, klass, page);
page++;
list.add((T) sonarObject); // Warning
}
}
你能想到什么解决办法?
@Sweeper 给出的解决方案是将 sonarObject 的类型更改为T
我犯的错误是假设通用T对象无法从其父对象调用方法。
忽然笑
慕莱坞森
偶然的你
隔江千里
眼眸繁星
随时随地看视频慕课网APP
相关分类