我有一个简短的问题,告诉我为什么第一个例子不工作,第二个工作。实例前 代码:特定的NullPointerException异常Java
Tiles[] myTiles = new Tile[23];
number = 1;
第一示例:
for(Tile tile : this.myTiles) {
if (number != this.myTiles.length) {
tile = new Tile(number, getResources().getColor(R.color.puzzle_default));
number++;
}
}
第二示例:
for(Tile tile : this.myTiles) {
if (number != this.myTiles.length){
this.myTiles[number-1] = new Tile(number, getResources().getColor(R.color.puzzle_default));
number++;
}
}
如果我在其他方法中类使用以下代码
this.myTiles[0].getNumber();
这是NullPointerE xception。
但与第二个例子很好地工作。
我真的不知道为什么。感谢您的任何响应
因为你的第一个for循环不修改数组中的对象。 – user2336315
第一个例子中的tile不参考我的数组中的对象吗? – user2899587
'myTiles'是什么类型 –