Java 通过对列表排序实现NullPointerException

Java 通过对列表排序实现NullPointerException,java,Java,可以用compareto方法进行排序吗?我分配了两个变量,一个是typ Move4Connect,另一个是typ List?因为您说过它在compareto方法中的第一个if循环中 if(!columnsWithThreats.contains(compare.field.getColumn()) && columnsWithThreats.contains(this.field.getColumn())){

可以用compareto方法进行排序吗?我分配了两个变量,一个是typ Move4Connect,另一个是typ List?

因为您说过它在
compareto
方法中的第一个
if
循环中

    if(!columnsWithThreats.contains(compare.field.getColumn()) &&       
    columnsWithThreats.contains(this.field.getColumn())){
                    return 1;
    }
我可以列出
nullpointerexception

1)
columnsWithThreats
可以为空

2)
compare
可以为空

3)
compare.field
可以为空

4)
此.field
可以为空


如果上述任何引用为null,则会导致
NullPointerException
。希望这有帮助

您的测试调用默认值

Game4Connect game = new Game4Connect();
它初始化了带有威胁的列,但没有其他内容。 这意味着例如this.field为null,并且很可能也是compare.field


您需要初始化构造函数中的所有成员变量,意思是:!这字段

请发布所有相关代码,使您的问题易于理解。将调试点放在您认为该值为空的位置!!这会对你有帮助的我做到了。。当我打印列表时,列表中有一个元素,但是我想在我的compare to方法中连接到列表中。列表中没有任何内容。异常具体发生在哪里?堆栈跟踪显示它在第67行,但类中只有30行左右。我认为列swithstreats为空,但问题是,如果我在对可能的列表进行排序之前打印列表,列表列中有一个整数存在威胁,但我不知道为什么列表是空的,当我在比较方法中引用时,请尝试在这一行
if(!columnswiththThreats.contains(compare.field.getColumn())之前打印它&&columnsWithThreats.contains(this.field.getColumn())){
。大小为0,因此内部没有任何内容不应导致
NPE
,当您检查
包含
时,它将返回'false'。检查其他变量是否为
null
是否可以使用compareto方法进行排序我分配了两个变量,一个是typ Move4Connect,另一个是typ List?