-1
  1. 在 for 循环的第一次迭代中,为什么该方法在第 15 行抛出 NPE,但在下一次迭代中,它仍然显示第一次迭代的键和值已添加到映射中?

  2. 为什么甚至会抛出 NPE?根据 API,如果我传入的指定键/值为空,则抛出 NPE。我似乎没有承诺列出的 2 个场景中的任何一个。

错误截图

4

1 回答 1

3

NullPointerException的实际发生在线上

(int) integer = mapper.put(x,1);

这样做的原因是您将一个值放入 M​​ap 中,但之前没有映射到那里,因此从 put 方法返回 null。通过自动装箱,我们尝试将此Integer对象转换为int原语并获得NullPointerException.

于 2013-01-17T15:43:05.707 回答