我正在尝试调用org.springframework.security.oauth2.client.token.AccessTokenRequest的setHeaders方法而无法执行此操作。
班级org.springframework.security.oauth2.client.token.AccessTokenRequest声明
void setHeaders(Map<? extends String, ? extends List<String>> headers);
问题:
由于String是java中的最后一个类,因此它的目的是说&#34;? extends String&#34;在宣言中。
如何创建地图并在其中添加条目。我试过了
final Map<? extends String, ? extends List<String>> headers = accTknReq.getHeaders();
final List<String> lst1 = headers.get("MyHeader");
final ArrayList<String> lst2 = new ArrayList<>();
headers.put("MyHeader", lst1);
headers.put("MyHeader", lst2);
在这两种情况下,我都会遇到以下编译错误
[错误]无法执行目标org.apache.maven.plugins:maven-compiler-plugin:3.1:在项目上编译(default-compile):编译失败:编译失败:
[ERROR]:[33,24]接口java.util.Map中放入的方法不能应用于给定的类型; 需要[错误]:捕获#1?扩展java.lang.String,捕获#2?扩展java.util.List [ERROR]发现:java.lang.String,java.util.List
答案 0 :(得分:2)
对于第二个问题,您可以尝试使用以下内容来设置标题。
final Map<String, List<String>> headers = new HashMap<>(accTknReq.getHeaders());