(Почти) Тот же код производит непроверенное назначение в одном месте, а не в другом - PullRequest
0 голосов
/ 18 февраля 2019

Я анализирую вызов RestAssured в Java, который возвращает список объектов.Если я использую этот код, Idea выдает предупреждение о непроверенном присваивании:

List<SpaceInventoryDTO> availableInventories = ListParserHelper.getList(response, SpaceInventoryDTO.class);


public class ListParserHelper {
  public static <T> List getList(Response response, Class<T> cls) {
    return response.jsonPath().getList(".", cls);
  }

Однако, если я помещаю код из помощника в сам класс, предупреждение больше не выдается:

List<SpaceInventoryDTO> availableInventories = response.jsonPath().getList(".", SpaceInventoryDTO.class);

Меня интересует основополагающая логика, чего мне не хватает?

1 Ответ

0 голосов
/ 18 февраля 2019

Тип возврата метода - необработанный тип List, тогда как метод getList возвращает правильный универсальный тип (я полагаю).Чтобы избавиться от предупреждения, необходимо указать типу возвращаемого аргумента тип возвращаемого значения:

public static <T> List<T> getList(Response response, Class<T> cls)
...