2014-02-23 79 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!字段