Re: Porovnani objektu

2010-06-29 Tema obsahu Ondra Medek
To nakonec odpovida i obecnemu pojeti hash code: http://en.wikipedia.org/wiki/Hash_function "A hash function may map two or more keys to the same hash value. In many applications, it is desirable to minimize the occurrence of such collisions, which means that the hash function must map the keys to

Re: Porovnani objektu

2010-06-29 Tema obsahu Martin Kuba
michal.niko...@elanor.cz napsal(a): > Diky moc za uvedeny priklad. Vystupem u me je (Eclipse): > > 1580473: java.lang.obj...@42e816 - java.lang.obj...@42e816 > 1580473: (false) 4384790 - 4384790 > > pricemz je pro me prekvapujici ten (false) ve vypisu. Vzdy jsem si myslel > ze porovnani objektu

Re: Porovnani objektu

2010-06-29 Tema obsahu Michal . Nikodim
Diky moc za uvedeny priklad. Vystupem u me je (Eclipse): 1580473: java.lang.obj...@42e816 - java.lang.obj...@42e816 1580473: (false) 4384790 - 4384790 pricemz je pro me prekvapujici ten (false) ve vypisu. Vzdy jsem si myslel ze porovnani objektu obj == clash je prave porovnani pres identityHashC

Re: Porovnani objektu

2010-06-29 Tema obsahu Martin Kuba
Tomáš Záluský napsal(a): >> 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: To je tím, že hashCode() vrací int, tedy může mít jenom 2^32 různých hodnot. A už třeba jenom různých instancí ty

Re: Porovnani objektu

2010-06-29 Tema obsahu Tomáš Záluský
>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.h

Re: Porovnani objektu

2010-06-29 Tema obsahu Zdeněk Troníček
identityHashCode() vraci pro ruzne objekty ruzne hodnoty, ale pouze v danem okamziku. Pokud napr. vytvorim objekt, ulozim si jeho identityHashCode(), pak jej zahodim a vytvorim novy objekt, tento novy objekt muze mit stejny identityHashCode. Dobry napad je pouziti referenci z java.lang.ref. Z.T. -

Re: Porovnani objektu

2010-06-29 Tema obsahu Tomáš Záluský
S tou unikátností identityHashCode to není tak samozřejmé, dokumentace k System.identityHashCode() říká "Returns the same hash code for the given object as would be returned by the default method hashCode()" a v dokumentaci k Object.hashCode() je na začátku odstavce šalamounská věta: "As much as

Re: Porovnani objektu

2010-06-29 Tema obsahu Jaroslav Hurdes
Podle tohoto: System.identityHashCode(), which is guaranteed to return distinct integers for distinct objects within a JVM by mela vracet pro kazdou instanci objektu jinou hodnotu. Takze by to melo chodit, za predpokladu, ze porovnavate identicke objekty a ne ekvivalentni (se stejnou hodnoto

Re: Porovnani objektu

2010-06-29 Tema obsahu Lukas Barton
A proc nepouzijete WeakReference nebo WeakHashMap? Lukas 2010/6/29 > mam tridu (smyslena, oholena jen na reprezentaci problemu): > > public class Neco implements INekohoJineho { > public String dejHodnotu(Object element){ >String hodnota = Tool.casoveNarocnaMetoda(element); >

Porovnani objektu

2010-06-29 Tema obsahu Michal . Nikodim
mam tridu (smyslena, oholena jen na reprezentaci problemu): public class Neco implements INekohoJineho { public String dejHodnotu(Object element){ String hodnota = Tool.casoveNarocnaMetoda(element); return hodnota; } } metoda dejHodnotu je volana v cyklu frameworku nade mnou a j