1. 程式人生 > >java的new陣列,對數組裡每個物件必須再例項化

java的new陣列,對數組裡每個物件必須再例項化

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