有人可以解释这个错误意味着什么吗?

时间:2011-03-06 21:12:25

标签: java nullpointerexception

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

我稍微编辑了我的代码,删除了没有方法,但更改了一两个名字,现在......繁荣!什么都行不通!很烦人,因为我只是让它工作,回去评论它,现在我看不到什么改变了......帮助? :)

4 个答案:

答案 0 :(得分:4)

你可能正在尝试这样做:

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

但您没有显示任何代码。

答案 1 :(得分:1)

来自docs

  

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

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

应用程序应抛出实例   此类表示其他非法行为   使用null对象。

您肯定会遇到其中一种情况。在更高级别上,您可能使用null参数调用了一个函数(此处为compareTo()),然后在函数中导致NullPointerException。

也许你有一个TreeMap,并在地图中插入一个空值?

答案 2 :(得分:0)

您确定当您更改了方法的名称时,您更改了它的所有位置吗?有可能是因为空指针异常,您有一个键入不正确或拼写错误的名称。看起来你试图比较两个整数,并且很可能不再正确地调用其中一个整数的方法。务必仔细检查。

答案 3 :(得分:0)

在该行的ide中放置一个断点,看看var是null。从那里,这将是一个简单的解决方案。