Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/04/2011, 06:54
GROGUI2
 
Fecha de Ingreso: agosto-2010
Mensajes: 128
Antigüedad: 13 años, 8 meses
Puntos: 2
HashMap y Serialización

Hola, tengo un problema con la clase HashMap

introduzco un par clave valor, y al buscarlo me devuelve null.

Si lo busco nada más introducirlo con el mismo objeto clave que lo intriduje, todo va Ok,
si genero un nuevo objeto clave con el mismo valor en los campos, y lo busco de nuevo, devuelve null.

Al compilar (no estos ficheros, si no otros ficheros que se me generan con la utilidad javacc a partir de estos, me sale el siguiente Warning sobre algo relacionad con la serialización, que no se si tendrá algo que ver):

C2.java:2010: warning: [serial] serializable class C2.LookaheadSuccess has no definition of serialVersionUID
static private final class LookaheadSuccess extends java.lang.Error { }
^
1 warning



Aquí dejo el código de la clase que utilizo como clave y de la manipulación del HashMap.
A ver si sabéis por qué ocurre esto. Gracias!

// Clase usada como clave
public class Id
{
public String nombre;
public int profundidad;

public Id(String name, int prof)
{
nombre = new String(name);
profundidad = prof;
}

public Id(){}
}




public class TablaSimbolos{

private HashMap<Id, Simbolo> tabla; // Variables definidas

public TablaSimbolos()
{
tabla = new HashMap<Id, Simbolo>();


}

public void insertar(Id nombre, Simbolo s)
{
tabla.put(nombre, s);

Id n = new Id(nombre.nombre,nombre.profundidad );

if(tabla.containsKey(nombre)==false) { /* Aqui si encuentra el objeto, y no entra */}
if(tabla.containsKey(n)==false) { /* El objeto no lo encuentra, y entra aquÃ* :S */}

}
}