Java - nullpointer

   
Vista:

nullpointer

Publicado por eduard (14 intervenciones) el 20/12/2007 11:35:52
hola, estoy ligeramente encallado con un tema a ver si me podeis echar un cable.

tengo un metodo que recibe una instancia de una clase, cuando intento implementar el codigo siempre me encuentro que cuando quiero acceder a un valor de esa instancia me da null.

por ejemplo:

public void tratarCasa (casa casa)
{
system.out.println(casa.getid());
}

me devuelve un nullpointerexception, y tengo por seguro que me estan pasando valores.
alguna idea.
gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:nullpointer

Publicado por putahostia (69 intervenciones) el 20/12/2007 12:33:33
Así poco se puede decir. Supongo que cuando dices
tratarCasa (casa casa)
en realidad es algo como
tratarCasa (Casa casa)

¿Donde está el NullPointer? ¿En Casa on el la otra clase?
¿Está instanciada la clase donde se encuentra el método tratarCasa?
En caso afirmativo prueba con un :
if(casa == null)
System.out.println("Casa es NULL");

Eso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por eduard (14 intervenciones) el 20/12/2007 15:38:26
gracias por responder, la cuestion esta en que :

cuando quiero mostrar por pantalla algun parametro de casa, por ejemplo: casa.getid(), me devuelve la direccion de la memoria, alguna idea?
gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por putahostia (69 intervenciones) el 20/12/2007 16:02:48
¿Que es lo que metes en casa?
Supongo que tienes un método setId. ¿Que parámetro tiene?
Lo que dices, lo de la dirección de memoria, pasa cuando haces el get a un tipo que no es el esperado.
Por ejemplo si tienes un Vector v
System.out.print(v);
te pinta una dirección.
Revisa el setId, lo que mete, el tipo que se mete y que es lo que recuperas. Pon System por todos lados hasta que aparezca.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por eduard (14 intervenciones) el 20/12/2007 16:38:52
gracias por tu tiempo pero la cosa no me funciona, he debugado todo el codigo y nada, todo es correcto a excepcion de lo que te comento, me llega null , cuando deberia recibir un parametro de otro metodo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por nhebone (7 intervenciones) el 20/12/2007 17:24:14
¿Cuándo haces la llamada al método que recibe la casa, te aseguras de que el parámetro está incializado?
Tiene toda la pinta de que esta declarado el objeto casa pero no incializado.
Los null pointer suelen ser por que tratas de hacer una invocación sobre un objeto en estado null.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por eduard (14 intervenciones) el 20/12/2007 17:34:35
te lo explico mejor.

class Casa
{
void addCasa (Hijo hijo)
{
println(hijo.getid());
}
void Hijo getHijo (string id)
{
return hijo;
}
}

class Hijo
{
public String getid()
{
return id;
}
}

a ver si asi lo entiendes mejor, en el metodo addCasa, hijo recibe el parametro de getHijo, este parametro quan debugo me sale correctamente.

luego cuando hago el println es cuando me sale el nullpointerexception.
alguna idea mas.?
gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por putahostia (69 intervenciones) el 20/12/2007 18:24:38
A ver, socio, en la clase Casa no veo getId, solamente getHijo. En Hijo si que hay un getId, pero en Hijo no veo cuando has inicializado id. Si Casa deriva de Hijo, bien. En Casa.getHijo tienes un parámetro String id, pero devuelves un objeto Hijo.
No sé, a lo mejor el problema es que cuando haces addCasa(Hijo hijo), dentro deberías de hacer algo como this.hijo = hijo para una variable global y luego haces getId sobre hijo y así en Casa tienes referencia sobre hijo.
No sé en que entorno estás ejecutando, pero casi todos los IDEs tienen debugger, pon puntos de interrupción y antes del get que te manda el NullPointer mira todas las variables que hay.
No se me ocurre otra cosa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por eduard (14 intervenciones) el 20/12/2007 18:35:50
gracias por tu tiempo, probare mas opciones en el debuger.
por cierto uso el eclipse.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por nhebone (7 intervenciones) el 20/12/2007 19:22:02
Creo que deberías pegar algo más de código, con ese contexto es muy difícil ver el error.

Reitero mi pregunta: ¿Estas creando bien los objetos que pasas como parámetros? ¿Usas la palabra reservada new para hacerlo?

Si no los creas con new únicamente los declarando, por lo que una invocación sobre ellos siempre de dará una Null Pointer Exception.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por eduard (14 intervenciones) el 20/12/2007 19:28:08
es que es codigo de la practica de mi universidad, y no se si colgarlo aqui, si quieres te lo puedo pasar por privado?
te estaria eternamente agradecido.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por nhebone (7 intervenciones) el 20/12/2007 20:44:30
Ok si quieres enviamelo a nhebozoneARROBAgmail DOT com.
Le hecho un vistazo, a ver si doy con la solución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por eduard (14 intervenciones) el 20/12/2007 21:57:09
alla va, te lo envio.
te llegara de otra cuenta gmail.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por eduard (14 intervenciones) el 21/12/2007 12:55:05
ja esta arrgelado, no hace falta que pierdas tiempo.
de todas formas, gracias por todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por putahostia (69 intervenciones) el 21/12/2007 15:00:18
Vale, pero ¿como lo arreglaste?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:nullpointer

Publicado por eduard (14 intervenciones) el 21/12/2007 17:45:42
pues la cosa era que en el metode:

void Casa getCasa (string userid)

me pasaban Casa como nulo i tenia que crear una nueva instancia con el parametro que me pasaban en el metodo, tan simple como esto, pero me tenia loco perdido.
gracias por el interes.

void Casa getCasa (string userid)
{
if ( casa == null)
{
Casa cas = new Casa (userid)
return cas;
}
return null;
}

en fin, una cosa menos, hasta la siguiente duda.
:-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar