Foros del Web » Programación para mayores de 30 ;) » Java »

null pointer exception con enums

Estas en el tema de null pointer exception con enums en el foro de Java en Foros del Web. Buenas... tengo este codigo: Código: Color[] colores; colores[i]=generador.generarColorAleatorio(obtenerRangoColores()); Color es un enum que esta declarado asi: [CODE] public enum Color { AMARILLO, AZUL, NARANJA, PURPURA, ...
  #1 (permalink)  
Antiguo 14/12/2007, 10:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
null pointer exception con enums

Buenas... tengo este codigo:

Código:
Color[] colores;
colores[i]=generador.generarColorAleatorio(obtenerRangoColores());
Color es un enum que esta declarado asi:
[CODE]
public enum Color {
AMARILLO,
AZUL,
NARANJA,
PURPURA,
ROJO,
VERDE
}
[\CODE]


Tal y como esta el codigo de arriba, me da un warning: variable colores might not have been initialized, el cual supongo q es porque no esta inicializado.

El problema esta en como puedo inicializar colores, sino puedo hacer una instancia de Color, puesto que los enum no aceptan cosas del tipo new Color();

En ejecucion, me da un null pointer Exception en la linea:

[CODE] colores[i]=generador.generarColorAleatorio(obtenerRangoColor es());[\CODE]

y parece ser que es por lo mismo...

Alguien me ayuda a solucionar esto?
Gracias
  #2 (permalink)  
Antiguo 14/12/2007, 12:44
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: null pointer exception con enums

Tienes que inicializar el array. Para eso no hace falta construir ningun color, sólo hace falta saber el tamaño del array.

S!
  #3 (permalink)  
Antiguo 14/12/2007, 16:52
 
Fecha de Ingreso: diciembre-2007
Mensajes: 5
Antigüedad: 16 años, 4 meses
Puntos: 0
Re: null pointer exception con enums

El tamaño del array no es fijo, lo designa el usuario.

No puedo poner algo del tipo: Color[] colores=new Color() porque Color es un enum y no se pueden instanciar.

tampoco puedo poner Color[tamaño] colores... porque me dice que tamaño no es un "statement", vamos que no es fijo...

Entonces... no lo veo claro
Gracias a todos, sigo esperando xD
  #4 (permalink)  
Antiguo 15/12/2007, 15:07
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: null pointer exception con enums

El tamaño del array no tiene por que ser fijo en tiempo de compilación, lo puedes pasar como una variable. De todas formas, repito, no puedes usar el array si antes no lo has inicializado.

Y si no puedes saber el tamaño de tu "conjunto de colores" antes de empezar a meterle objetos, entonces un array no es la estructura adecuada para eso. Una colección te iria mejor, ya que a eso puedes añadirles elementos sin declarar antes el tamaño.

S!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.