【问题标题】:Can someone explain what this error means please?有人可以解释一下这个错误是什么意思吗?
【发布时间】:2011-03-06 21:12:25
【问题描述】:
java.lang.NullPointerException
at java.lang.Integer.compareTo(Unknown Source)
at java.lang.Integer.compareTo(Unknown Source)
我稍微编辑了我的代码,没有删除任何方法,但更改了一两个名称,现在……砰!没有任何作用!很烦人,因为我刚刚让它工作,回去评论它,现在我看不到有什么变化......帮助? :)
【问题讨论】:
标签:
java
nullpointerexception
【解决方案1】:
你可能正在尝试做这样的事情:
Integer i = null;
Integer j = 42;
i.compareTo(j); // throws NullPointerException since i is null
或者这个:
Integer i = 21;
Integer j = null;
i.compareTo(j); // throws NullPointerException since j is null
但您没有显示任何代码。
【解决方案2】:
来自docs:
当应用程序尝试
在对象是的情况下使用 null
必需的。其中包括:
- 调用空对象的实例方法。
- 访问或修改空对象的字段。
- 将 null 的长度视为数组。
- 访问或修改 null 的槽,就像它是一个数组一样。
- 将 null 视为 Throwable 值。
应用程序应该抛出的实例
这个类来指示其他非法的
使用空对象。
您肯定会遇到其中一种情况。在更高的层次上,您可能调用了一个带有 null 参数的函数(此处为 compareTo()),这会导致函数中出现 NullPointerException。
也许你有一个 TreeMap,并在地图中插入了一个空值?
【解决方案3】:
在你 ide 的那一行设置一个断点,看看什么 var 是 null。从那里可以轻松解决。
【解决方案4】:
你确定当你改变你的方法的名字时,你在任何你调用它的地方都改变了它?有可能出现空指针异常,您的名称键入或拼写不正确。看起来您正在尝试比较两个整数,并且很可能不再正确调用给出其中一个整数的方法。请务必仔细检查。