Hallo,
Das Problem ist, dass ein Kompiler davon herzlich wenig weiss und so muss er quasi jammern.
Ja, beim Methoden-Rückgabewert ist das verständlich. Warum aber die Warnung beim expliziten Typecast? Beim Typecast sollte doch der Compiler beim Kompilieren prüfen, ob so ein Cast möglich ist und wenn ja, dann die entspechende Casting-Routine einsetzen, die _sicherstellt_, das der Cast gelingt. Was genau ist also der Sinn der Warnung bei:
Vector<MyFirstType> mftv = (Vector<MyFirstType>) someObject.call(MyFirstType.class);
?
Die Methode someObject.call(MyFirstType.class) liefert ein Vector-Object. Nach Generics ein Vector<Object> oder ein Vector<?>. Dieses wird explizit in ein Vector<MyFirstType> gecastet. Die Warnung kann man ja nur so verstehen: Hey, meine Casting-Routine ist so unzulänglich, dass sie nicht sicherstellen kann, dass wirlich ein Vector<MyFirstType> entsteht. Ist das so? Wenn ja, warum ist das so? Außer beim Casing in String-Objects (jedes Objekt hat eine .toString()-representation) müssten solche Warnings dann doch auch bei andern Casts kommen z.B. (AbstractDocument) in.readObject() beim Deserialisieren.
viele Grüße
Axel