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 >
