Takze kdyz lhs je Object a rhs je String, tak lhsClass bude Object.class a
rhsClass bude String.class.
lhsClass.isInstance(rhs) vrati true (tedy testClass = Object.class) a
!rhsClass.isInstance(lhs) je take true, tedy testClass = String.class.
To nejak neodpovida tomu, ze se "to prekastuje na spoločného predka".
Z.T.
--
Zdenek Tronicek
FIT CTU in Prague
Rastislav Siekel napsal(a):
> Veď preto tam ten Commons-Lang dáva takéto niečo:
>
> ...
> Class lhsClass = lhs.getClass();
> Class rhsClass = rhs.getClass();
> Class testClass;
> if (lhsClass.isInstance(rhs)) {
> testClass = lhsClass;
> if (!rhsClass.isInstance(lhs)) {
> // rhsClass is a subclass of lhsClass
> testClass = rhsClass;
> }
> } else if (rhsClass.isInstance(lhs)) {
> testClass = rhsClass;
> if (!lhsClass.isInstance(rhs)) {
> // lhsClass is a subclass of rhsClass
> testClass = lhsClass;
> }
> } else {
> // The two classes are not related.
> return false;
> }
> ...
>
> Čiže si to prekastuje na spoločného predka a až potom porovnáva.
> Pravdupovediac som to moc neštudoval, po otestovaní s Hiberanate som
> zistil, že všetko beží ako má a odvtedy to "len" používam :-)
>
> R.
>
> ------------------------------------------------------------------------
> Ing. Rastislav Siekel
> Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
> E-mail : <[email protected]> <mailto:[email protected]>
> Tel : 041/562 54 91
> Fax : 041/562 54 97
> Mobil : 0905 34 00 20
>
> On 4. 3. 2010 9:43, Lukas Barton wrote:
>> Jenom pozor, ze je v equals metode nutne pouzivat instanceof misto
>> getClass()==.
>> Hibernate tam totiz dava proxy a pak by to nefungovalo.
>>
>> Lukas
>>
>> Rastislav Siekel wrote:
>>> Jakrta Commons-Lang a zatiaľ ma nesklamali.
>>>
>>> Rastislav "Bedo" Siekel
>>>
>>> ------------------------------------------------------------------------
>>> Ing. Rastislav Siekel
>>> Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
>>> E-mail : <[email protected]> <mailto:[email protected]>
>>> Tel : 041/562 54 91
>>> Fax : 041/562 54 97
>>> Mobil : 0905 34 00 20
>>>
>>> On 4. 3. 2010 6:54, Daniel Holešínský wrote:
>>>> Zdravim,
>>>>
>>>> pouzivam generator IDE (eclipse, idea). U Hibernate si ale musite
>>>> dat pozor na kolekce s atributem lazy - mimo session se jinak
>>>> potkate s vyjimkou
>>>>
>>>> org.hibernate.LazyInitializationException: failed to lazily
>>>> initialize a collection of role: ____, no session or session was
>>>> closed
>>>>
>>>> z pri jakemkoliv pouziti eaual a hashCode (za predpokladu, ze tato
>>>> kolekce je zahrnuta do vypoctu hashCode a vyhodnoceni equals)
>>>>
>>>> DH
>>>>
>>>> 2010/3/3 Ivan Polak <[email protected] <mailto:[email protected]>>
>>>>
>>>> Ahojte,
>>>>
>>>> mam otazku, co pouzivate na generovanie tychto 2 metod pre domain
>>>> objecty v hibernate ? eclipse generovanie (Source/Generate
>>>> hashCode()
>>>> and equals() alebo pouzitie EqualsBuilder a HashCodeBuilder z
>>>> projektu
>>>> Jakarta Commons-Lang (http://
>>>> commons.apache.org/lang/ <http://commons.apache.org/lang/> alebo
>>>> nieco ine?
>>>>
>>>> dakujem
>>>>
>>>> Ivan
>>>>
>>>>
>>
>