>identityHashCode() vraci pro ruzne objekty ruzne hodnoty, ale pouze v >danem okamziku.
To právě popírá program, který jsem linkoval v minulém mailu: public class HashClash { public static void main(String[] args) { final Object obj = new Object(); final int target = obj.hashCode(); Object clash; long ct = 0; do { clash = new Object(); ++ct; } while (clash.hashCode() != target && ct<10L*1000*1000*1000L); if (clash.hashCode() == target) { System.out.println(ct+": "+obj+" - "+clash); System.out.printf("%d: (%b) %d - %d%n",ct, obj == clash, System.identityHashCode(obj),System.identityHashCode(clash)); } else { System.out.println("No clashes found"); } } } V okamžiku System.out.printf existují dva různé objekty, ale mají stejný identityHashCode. Děje se mi tak v Eclipsu i na Sun JVM C:javaworkspaceworkbin>java -version java version "1.6.0_18" Java(TM) SE Runtime Environment (build 1.6.0_18-b07) Java HotSpot(TM) Client VM (build 16.0-b13, mixed mode, sharing) >Pokud napr. vytvorim objekt, ulozim si jeho >identityHashCode(), pak jej zahodim a vytvorim novy objekt, tento novy >objekt muze mit stejny identityHashCode. Souhlas. TZ ================================================ ...with Ultimate flying is so easy... http://www.frisbee.cz http://www.peaceegg.net ================================================