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

NullPointerException

Estas en el tema de NullPointerException en el foro de Java en Foros del Web. import java.util.HashMap; public class Almacen { public HashMap almacen; public Almacen () { almacen = new HashMap(); llenaAlmacen(); } public void llenaAlmacen () { almacen.put("Elemento1", ...
  #1 (permalink)  
Antiguo 21/03/2006, 08:03
 
Fecha de Ingreso: marzo-2006
Mensajes: 106
Antigüedad: 18 años, 8 meses
Puntos: 0
NullPointerException

import java.util.HashMap;

public class Almacen {
public HashMap almacen;

public Almacen () {
almacen = new HashMap();
llenaAlmacen();
}

public void llenaAlmacen () {
almacen.put("Elemento1", new Elemento());
almacen.put("Elemento2, new Elemento());
almacen.put("Elemento3, new Elemento());
}

public Elemento recuperaElemento (String s) {
return (Elemento)almacen.get(s);
}
}


Cuando llamo al método recuperaElemento("Elemento1") me salta dicha excepción, y no entiendo por qué. ¿Acaso uso mal el método put?
__________________
"El río más profundo siempre es el más silencioso"
  #2 (permalink)  
Antiguo 21/03/2006, 10:03
 
Fecha de Ingreso: febrero-2006
Mensajes: 155
Antigüedad: 18 años, 9 meses
Puntos: 0
consejo

intenta capturanco la excepcion amigo a ver si te sirve... por lo q vi creo q no lo estas haciendo.... si estoy en un error me corrigen por favor...
  #3 (permalink)  
Antiguo 21/03/2006, 10:36
Avatar de iceman_cml  
Fecha de Ingreso: diciembre-2005
Ubicación: Rosario
Mensajes: 63
Antigüedad: 18 años, 11 meses
Puntos: 0
La excepción NullPointerException es un error en tiempo de ejecución. Es muy probable (casi seguro) que se haya producido por tener una referencia (una variable de tipo objeto) y aplicarle el "operador punto" para invocar a un método, siendo esta referencia null (probablemente porque no se ha inicializado).
  #4 (permalink)  
Antiguo 21/03/2006, 10:55
 
Fecha de Ingreso: marzo-2006
Mensajes: 106
Antigüedad: 18 años, 8 meses
Puntos: 0
Claro, eso es lo que ocurre. La cosa es que le aplico el operador punto a la referencia que me devuelve el método recuperarElemento. Eso significa que en el HashMap no se ha guardado bien el objeto?. Debería poder acceder a él usando su clave, no?
__________________
"El río más profundo siempre es el más silencioso"
  #5 (permalink)  
Antiguo 22/03/2006, 01:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 21 años, 1 mes
Puntos: 51
Yo apostaria a que el objeto que no esta inicializado es el objeto Almacen sobre el que ejecutas la llamada recuperaElemento("Elemento1").

En estos casos, conviene postear todo el codigo y leer detenidamente el stacktrace de la excepcion, ya que ahi esta toda la informacion que necesitas.
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 13:48.