Set strange behaviour. What am i missing ?

publicclass FileDataimplements Comparable{

Fichero ficheroInfo;

File file;

private Date lastRegistryInsertionTime;

//...

@Override

publicboolean equals(Object obj){

if (!(objinstanceof FileData) )returnfalse;

Fichero ficheroInfo2 = ((FileData)obj).getFicheroInfo();

File file2 = ((FileData)obj).getFile();

Date date2 = ((FileData)obj).getLastRegistryInsertionTime();

return (ficheroInfo2 ==null && ficheroInfo ==null ) || (ficheroInfo2.equals(ficheroInfo)) &&

(file2==null && file2 ==null ) || (file2.equals(file2)) &&

(date2==null && date2 ==null ) || (date2.equals(date2)) ;

}

@Override

publicint hashCode(){

return 100;

}

//.....

// files is a filled TreeSet<FileData>

assertEquals( files.iterator().next(),new FileData(f1,fichero) );// ->TRUE

assertTrue( files.contains(new FileData(f1,fichero)));// -> FALSE

[2034 byte] By [pedroerenciaa] at [2007-11-26 23:37:26]
# 1
bad ( and confuse equals :) ) sorry..
pedroerenciaa at 2007-7-11 15:00:53 > top of Java-index,Core,Core APIs...