如何查看地图中的内容?

gur*_*gui 0 java

我在Java中遇到了Map的问题.该代码如下所示:

Map<Object, Object> test = myClass.getMap();
int value = (int) test.get(myID);
Run Code Online (Sandbox Code Playgroud)

当我到达第二行时,我得到一个:

java.lang.NullPointerException
Run Code Online (Sandbox Code Playgroud)

现在我问自己如何调试这个并找到为什么这不起作用?我很确定所有的键和值都在这张地图中.

如何打印整个地图,以便我可以搜索密钥是否可用?(这是一张很长的地图)

或者找到问题的正确方法是什么?

san*_*hat 5

你可以map.containsKey(key)检查密钥是否存在

原因NPE,是对价值myIdmapnull,你正试图将其转换为原始的int(这不能持有非空值).将其更改为以下语句将避免异常(除非映射test本身是null)

Integer value = (Integer ) test.get(myID);
Run Code Online (Sandbox Code Playgroud)