大家好,我尝试扩展一个HashMap<String,String>强制执行"全小写"规则
public class HttpQueryMap extends HashMap<String,String>
{
...
@Override
public void putAll(Map<? extends String, ? extends String> m)
{
...
Iterator<Map.Entry<String,String>> iterator = m.entrySet().iterator();
...
}
...
}
Run Code Online (Sandbox Code Playgroud)
我收到编译时错误
incompatible types
required: Iterator<Entry<String,String>>
found: Iterator<Entry<CAP#1,CAP#2>>
where CAP#1,CAP#2 are fresh type-variables:
CAP#1 extends String from capture of ? extends String
CAP#2 extends String from capture of ? extends String
Run Code Online (Sandbox Code Playgroud)
下一个解决方案可以完成这项工作,但实际上很难看:
public class HttpQueryMap extends HashMap<String,String>
{
...
@Override
public void putAll(Map<? extends String, ? extends String> m)
{
... …Run Code Online (Sandbox Code Playgroud)