Dobrý den,
myslím, že váš kód ve skutečnosti vypadá jinak a že jste při jeho
zjednodušování problém odstranil. Zkuste si přeložit to, co jste poslal, a
předpokládám, že to bude bez unchecked varování. Pravděpodobně voláte jinou
metodu nebo na jiné třídě/rozhraní, a ta volaná metoda vrací „starý“ Set.

S pozdravem

Filip Jirsák


Dne 13. září 2011 16:16 Libor Jelinek <[email protected]> napsal(a):

> Dobrý den, milý kolegové!
>
> Zdroj:
>        class JpaTableModel {
>                public Set<String> getModelColumnNames() {
>                        // něco
>                }
>        }
>
> Použití:
>        model = new JpaTableModel();
>        mode.getModelColumnNames();    // návratový typ Set, ne Set<String>
>
> Ovšem, kde getModelColumnNames() má návratový typ pouhý Set. *Proč*?
>
> Musím tedy vždy konvertovat zpátky do Set<String>:
>        Set<String> names = ejModel.getModelColumnNames();
>
> To ale vypisuje varování:
>        warning: [unchecked] unchecked conversion
>        found   : java.util.Set
>        required: java.util.Set<java.lang.String>
>                Set<String> names = ejModel.getModelColumnNames();
>
> Ale je to jediná mně známá cesta, jak dál moci pracovat "type-safe".
> Je to však zase nějaké omezení generik nebo něco dělám/chápu špatně?
> Čekám že to bude něco s erasure, ale neumím si sám odpovědět.
>
> Mockrát děkuji za rady.
> Libor
>

Odpovedet emailem