Java HashMap的一个小坑

2017-06-06  本文已影响15人  承羿

昨天被一个奇葩的错误耽误了不少进度,主要是因为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代码是一个不错的选择。

上一篇 下一篇

猜你喜欢

热点阅读