猿问

相同的代码在一个地方产生未经检查的赋值,而在另一个地方没有

我正在解析 Java 中的 RestAssured 调用,它返回一个对象列表。如果我使用此代码,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);

我对这里的底层逻辑感兴趣,我错过了什么?


慕娘9325324
浏览 239回答 1
1回答

慕标5832272

该方法的返回类型是原始List类型,而该getList方法返回一个适当的泛型类型(我假设)。你需要给你的返回类型一个具体的类型参数来摆脱警告:public&nbsp;static&nbsp;<T>&nbsp;List<T>&nbsp;getList(Response&nbsp;response,&nbsp;Class<T>&nbsp;cls)
随时随地看视频慕课网APP

相关分类

Java
我要回答