繁体   English   中英

有人可以解释这个错误是什么意思吗?

[英]Can someone explain what this error means please?

java.lang.NullPointerException
    at java.lang.Integer.compareTo(Unknown Source)
    at java.lang.Integer.compareTo(Unknown Source)

我稍微修改了代码,没有删除任何方法,但更改了一个或两个的名称,现在……轰! 没用! 太烦人了,因为我刚刚让它工作了,回去评论了它,现在我看不到有什么变化...帮助? :)

您可能正在尝试执行以下操作:

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

但您没有显示任何代码。

文档

当应用程序在需要对象的情况下尝试使用null时抛出。 这些包括:

  • 调用空对象的实例方法。
  • 访问或修改空对象的字段。
  • 将null的长度视为数组。
  • 访问或修改null插槽,就好像它是一个数组一样。
  • 将null抛出,就好像它是一个Throwable值一样。

应用程序应抛出此类的实例,以指示对null对象的其他非法使用。

您肯定会遇到这些情况之一。 在更高的层次上,您可能已经调用了带有null参数的函数(此处为compareTo()),该参数随后导致函数中的NullPointerException。

也许您有一个TreeMap,并在地图中插入了null?

您确定在更改方法名称时会在调用它的所有位置都对其进行更改吗? 出现空指针异常的可能是您输入或拼写的名称不正确。 似乎您正在尝试比较两个整数,并且可能无法再正确调用给出这些整数之一的方法。 始终确保仔细检查。

在您的那条线的终点放置一个断点,看看var是否为null。 从那里将很容易解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM