java当变量已经实例化时,为什么调用映射上的put方法会导致NullPointerException?
在for循环的第一次迭代中,为什么该方法在第15行抛出一个NPE,但在下一次迭代中,它仍然显示第一次迭代的键和值已添加到映射中
为什么会有一个NPE甚至被抛出?根据API,如果传入的指定键/值为null,则会抛出NPE。我似乎没有犯下列出的两个错误中的任何一个
你可以在下面搜索框中键入要查询的问题!
在for循环的第一次迭代中,为什么该方法在第15行抛出一个NPE,但在下一次迭代中,它仍然显示第一次迭代的键和值已添加到映射中
为什么会有一个NPE甚至被抛出?根据API,如果传入的指定键/值为null,则会抛出NPE。我似乎没有犯下列出的两个错误中的任何一个
# 1 楼答案
您的
NullPointerException
实际上发生在该行上这样做的原因是,您正在将一个值放入映射中,但之前没有在那里映射任何值,因此put方法返回null。通过自动装箱,我们然后尝试将这个
Integer
对象带到一个int
原语,并获得一个NullPointerException