最近又搞起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