【发布时间】:2021-07-15 10:36:45
【问题描述】:
我有一个方法,其中返回类型可以是几种已知类型。
它可以返回List<String> 或List<List<String>>。
调用它的时候,我根据我传递的参数知道返回类型是什么。
为了清楚起见,方法是
public List<Object> getValueFromResponseBodyHook(Response res, String key){
return res.body().jsonPath().getList(key);
}
我试着这样处理:
public boolean validateParameterValueInResponseBodyHook(Response res, String param, String expectedValue, Boolean flat){
List<List<String>> complex;
List<String> flat;
if(flat){
flat = (List<String>) getValueFromResponseBodyHook(res,param);
}else {
complex = (List<List<String>>) getValueFromResponseBodyHook(res,param);
}
}
但是这给我带来了以下错误:
不可转换的类型;无法将 'java.util.List
' 转换为 'java.util.List '
对于这一行
flat = (List<String>) getValueFromResponseBodyHook(res,param);
和
不可转换的类型;无法将 'java.util.List
' 转换为 'java.util.List >'
对于这一行
complex = (List<List<String>>) getValueFromResponseBodyHook(res,param);
我该如何正确处理这种情况?
【问题讨论】: