像其他评论者一样,我建议您阅读Java中的泛型主题。您在合并中所做的是在结果HashMap上使用通配符
HashMap<?, ?> result = new HashMap<?, ?>();
当您在上面加上通配符时,您基本上是在说“我只会从中读取”。稍后,您尝试将某些内容推入
result.put(keyLeft, mapLeft.get(keyLeft));
编译器会说:“嘿,您刚刚告诉我,您只会阅读,现在您想在其中添加一些内容…失败
然后,它将生成您的编译时错误。
解
不要将通配符放在要修改的集合上。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)