Java HashMap的一个小坑

昨天被一个奇葩的错误耽误了不少进度,主要是因为HashMap的初始化问题。不像Python初始化字典那么简单,Java的HashMap初始化比较啰嗦。

Python的字典初始化:

score = {"english": 80, "math":90, "chinese": 88 }

在Java中就没那么简洁了:

public static HashMap<String, String> score = new HashMap<String, String>() {
          {
                     put("english", "80");
                     put("math", "90");
                     put("chinese", "88");
                     // score.put("english", "80");
          }
};

网上给出的注释掉的这种写法,其实是错误的。在JDK8的条件下,该种写法会抛出空指针错误,个人认为是score还没初始化,就直接引用导致的。

记下这个坑吧,不能完全信网上的资料。另外,Java有时候真挺啰嗦,感觉麻烦时,采用Python生成Java代码是一个不错的选择。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,834评论 25 709
  • 作为整天泡在月供商城不停买、买、买的资深买手, 给大家安利一下月供商城买手攻略, 对于那些...
    小兽长角阅读 301评论 0 1
  • 以后每天早起10分钟,做这几个动作,可以长寿保持健康~ 整理发布/冬天养身小达人菜菜 早起的第一件事,你会做什么呢...
    a9ab75507214阅读 350评论 0 0
  • 今天尝试着使用Gradle做一些事情,主要是为了做一个灵活可配置的模板工程。下面是3个实现 - 使用配置文件设置a...
    裸be阅读 218评论 0 0
  • 今天的打卡如果写出来肯定很像小学生记录春游般的日记,因为今天就是和爸妈一起去雁栖湖春游 所以上图不说话了
    可以可以11阅读 152评论 7 2