Dostałem komunikat ostrzegawczy na temat przesyłania obiektów podczas kompilowania kodu. Nie mam pojęcia jak to naprawić je z moim obecnym stanie wiedzy .... Powiedzmy mam Generic Object MyGenericObj<T>
to rozciąga się od non-Generic Object MyObj
Jaki jest właściwy sposób sprawdzania typu obiektu dla obiektu Generic?
Oto przykładowy kod:
MyObj obj1 = new MyGenericObj<Integer>();
if (obj1 instanceof MyGenericObj) {
//I was trying to check if it's instance of MyGenericObj<Integer>
//but my IDE saying this is wrong syntax....
MyGenericObj<Integer> obj2 = (MyGenericObj<Integer>) obj1;
//This line of code will cause a warning message when compiling
}
Czy możesz dać mi znać, jaki jest właściwy sposób na wykonanie tego?
Każda pomoc jest doceniana.
Pierwsze dzięki za pomoc. Więc masz na myśli obiekt "theClass", masz miejsce, aby zapisać typ obiektu, a następnie porównać go do "Integer.class"? – user2296188
@ user2296188 Zasadniczo tak - piszesz coś takiego: 'if (i instanceof MyGenericObject && ((MyGenericObject) i) .getTypeArg() == Integer.class) {...}'. Spójrz na to demo na ideone ([link] (http://ideone.com/j85Uj9)) dla przykładu. – dasblinkenlight
Mam to teraz ~~ Dziękuję bardzo !!! Wypróbuję to i zobaczę, czy komunikat ostrzegawczy jest wyczyszczony ... – user2296188