Erro foreach / for

1 resposta
VictorMatuk

Alguem sabe explicar o porque…

import java.awt.Color;
import java.awt.geom.Ellipse2D;

public class Fogo {
	public Color cor;
	public Ellipse2D forma;
	
	public Fogo() {
		
	}
}

esse código funciona pra instanciar os objetos na array

private final int qtdFogo = 6000; private Fogo[] fogos = new Fogo[qtdFogo]; for(int i = 0; i < fogos.length; i++) fogos[i] = new Fogo();

e esse não funciona (dá null)

private final int qtdFogo = 6000;
private Fogo[] fogos = new Fogo[qtdFogo];
for(Fogo fogo : fogos) fogo = new Fogo();

Se você rodar vai funciona, só que se você chamar um método por exemplo do g2d.fill(fogos[0].forma); vai dar null exception

1 Resposta

drsmachado

Justamente pelo fato de você ter um espaço alocado na memória e não um objeto para receber qualquer ação.
Por isto, o erro retornado é null pointer, você está tentando retirar do array um objeto não instanciado.

Criado 6 de maio de 2011
Ultima resposta 6 de mai. de 2011
Respostas 1
Participantes 2