Google Website Translator Gadget

jueves, 28 de marzo de 2013

Java 7: TreeSet add error

Quan programes, qualsevol detall es molt important.

Si detectes que al afegir un objecte a la llista, aquest no s'afegeix, revisa els següents punts:


TreeSet (http://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html) permet la creació de conjunts ordenats d'objectes. Amb la funció add es permet afegir objectes al conjunt.

add(E e)
Adds the specified element to this set if it is not already present.

En el cas que sigui un objecte creat per tu, cal generar una funció CompareTo (http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html) que permeti saber si l'objecte existeix o no.

int compareTo(T o)
Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

En el meu cas particular, he perdut 1 dia de feina per un error en la implementació de la funció de comparació d'un objecte. A veure si descobreixes on es l'error d'implementació:


if (IDUsuari!=null && pUsuari.IDUsuari!=null)
{ IDUsuari.compareToIgnoreCase(pUsuari.IDUsuari);}

Un cop revisat les diferents funcionalitats, t'adonaràs que el resultat de la comparació no es retorna!! . Vet aquí! l'error que tant va costar trobar!

Assegura't que la funció de comparació retorna correctament el valor de comparació.



No hay comentarios:

Publicar un comentario