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