2014-02-23 80 views

回答

1

既然你说这是在compareTo方法第一if循环,

if(!columnsWithThreats.contains(compare.field.getColumn()) &&  
    columnsWithThreats.contains(this.field.getColumn())){ 
        return 1; 
    } 

我可以最大限度列表中向下的nullpointerexception

1)columnsWithThreats的可能性可以为空

2 )compare可以为空

3)compare.field可以为空

4)this.field可以为空

如果任何上述参考文献的为空,这会导致NullPointerException。希望这有助于

+0

我认为columnsWithsThreats为null,但问题是,如果我打印列表befor我排序可能的列表有一个整数列表列中的威胁,但我不#T知道为什么列表为空时我在compareTo方法中参考 – user3336368

+0

尝试打印它就在这行之前if(!columnsWithThreats.contains(compare。 field.getColumn())&& columnsWithThreats.contains(this.field.getColumn())){'。 – Keerthivasan

+0

大小为0,因此 – user3336368

0

你的测试呼叫默认

Game4Connect game = new Game4Connect(); 

它初始化columnsWithThreats,但没有别的。 这意味着this.field例如为null,并且很可能也是compare.field。

您需要初始化构造函数中的所有成员变量:!this!字段