最近又搞起Android了,又要接觸java,有點蛋蛋的憂傷啊。。
new了一個對象二維數組,調用對象的方法會提示null pointer
gameData = new LinkUint[baseArray.length][baseArray[0].length];
for(int i = 0; i != gameData.length; ++i){
for(int j = 0; j != gameData[i].length; ++j){
gameData[i][j].setLinkUint(i, j, baseArray[i][j] == 1 ? true : false, -1);
}
}
錯誤:Exception in thread "main" java.lang.NullPointerException
at GameData.genGameData(GameData.java:77)
at GameData.<init>(GameData.java:57)
at SglGameData.getInstance(SglGameData.java:20)
at main.main(main.java:4)
說明c++的思想在這裏又行不通了,那就一個個地new對象出來吧,這總可以了吧 gameData = new LinkUint[baseArray.length][baseArray[0].length];
for(int i = 0; i != gameData.length; ++i){
for(int j = 0; j != gameData[i].length; ++j){
gameData[i][j] = new LinkUint(i, j, baseArray[i][j] == 1 ? true : false, -1);
}
}
輸出結果:
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1
-1-1-1-1-1-1-1-1-1-1