У меня есть метод, который работает, но выдают мне предупреждение, есть ли решение, чтобы удалить его, чисто?
В этом методе я вызываю метод:
<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
не может вызвать метод от своего родителя.