arielfar 2022-11-20 16:11 采纳率: 100%
浏览 0
已结题

HashMap,为什么putAll语句不能放在for(Map.Entry)语句之后

为什么putAll语句不能放在for(Map.Entry)语句之后
这个代码不会报错
    public static void main(String[] args) {
        
        HashMap<String,Integer> h1=new HashMap<String,Integer>();
        h1.put("A", 1);
        h1.put("B", 2);
        HashMap<String,Integer> h2=new HashMap<String,Integer>();
        h2.put("C",3);
        
        h2.putAll(h1);    
        for(Map.Entry m: h2.entrySet())
        {
            System.out.println(m.getKey()+" "+m.getValue());}
        }

但是这段代码会报错

    public static void main(String[] args) {
        
        HashMap<String,Integer> h1=new HashMap<String,Integer>();
        h1.put("A", 1);
        h1.put("B", 2);
        HashMap<String,Integer> h2=new HashMap<String,Integer>();
        h2.put("C",3);
        
        for(Map.Entry m: h2.entrySet())
        {
            System.out.println(m.getKey()+" "+m.getValue());}
        }
        h2.putAll(h1);    

img

区别只是putall代码在Map.Entry代码的前面还是后面

运行结果及报错内容

报错内容为:
Multiple markers at this line
- Syntax error on token ".", @ expected after this token
- Syntax error, insert "SimpleName" to complete QualifiedName
- Syntax error, insert "Identifier (" to complete
MethodHeaderName
- Syntax error, insert ")" to complete MethodDeclaration

希望能有人解答,感谢!

  • 写回答

1条回答 默认 最新

  • nssnail 2022-11-20 16:47
    关注

    你的括号是不是没对好。。放在方法外了吧,怎么循环里面有个花括号的。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 创建了问题 11月20日

悬赏问题

  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助