[Javalist] generics kérdés

István Székely istvan.szekely at i-logic.hu
2012. Jún. 8., P, 15:01:44 CEST


Köszi, látszik, hogy erre még nem sűrűn volt szükségem.

Stivi

On 2012-06-08 14:56, Richard O. Legendi wrote:
> Gyors comment, a multiple boundsnak ebben az esetben semmi értelme:
>
> <? extends FactoryManaged & Object>
>
> Ez ugye úgy működik, hogy T1 & ... & TN-nek mind meg kell felelnie az 
> adott típusnak, viszont az *első* (azaz T1) típust használja 
> erasure-höz a fordító.
>
> Arra jó, ha több interfészt is meg akarsz kötni egyszerre, illetve 
> valóban van ilyen jellegű használata, ahol az Object szóba kerülhet, 
> de abban az esetben ez így nézne ki:
>
> <T extends Object & FactoryManaged>
>
> Erre bináris kompatibilitás miatt van szükség: ha van pl. egy nem 
> generic legacy függvényed, ami Objectet ad vissza, amiből szeretnél 
> genericeset csinálni, viszont nem akarod az összes kliens kódot 
> újrafordítani, akkor azt kizárólag így teheted meg.
>
> Példának ld. a min()/max() definícióját a Collections-ben (ott 
> Objectet kell visszaadni, mert régen úgy működött, viszont ha T == 
> Comparable lenne, akkor azt adna vissza).
>
> Ricsi
>
> On 2012.06.08. 14:17, István Székely wrote:
>> Hali,
>>
>> Bár már kaptál választ, olyan lehetne még, hogy <? extends 
>> FactoryManaged & Object> vagy valami hasonló konstrukció.
>>
>> Az alapvető probléma az egyébként, hogy a Sun nem vezetett be külön 
>> <? implements FactoryManaged> szintaxist, de tulajdonképpen ez nem is 
>> annyira kell neked, mint láttuk.
>>
>> Üdv,
>> Stivi
>>
>>
>> On 2012-06-08 13:28, Peter Verhas wrote:
>>> Igen ez jó. Kösz.
>>>
>>> --
>>> Verhás Péter
>>> peter at verhas.com <mailto:peter at verhas.com>
>>> +36(30)9306805
>>> skype: verhas
>>>
>>>
>>>
>>>
>>> On 2012.06.08., at 11:53, Richard O. Legendi wrote:
>>>
>>>> 2) Első blikkre:
>>>>
>>>>     public <T extends FactoryManaged> void create(Class<T> interfAce,
>>>>             Class<? extends T> klass);
>>>>
>>>> Ricsi
>>>
>>

--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.javaforum.hu/pipermail/javalist/attachments/20120608/a2bb2fc5/attachment.html>


További információk a(z) Javalist levelezőlistáról