Generics

Ok, im Ernst, das wusste ich nicht. Ich dachte, so ein cast ist nur erlaubt, wenn du vorher mit equals oder instanceof auf die gecastete Klasse prüfst. Bin eigentlich sicher, dass Eclipse das früher angemekkert hat, wenn man nicht geprüft hat, aber jetzt grade beim Test kann man wirklich beliebig casten O.o
Dann kan man natürlich vom COmpiler nicht erwarten, dass er in meinem Beispiel die Sicherheit erkennt und die if-Bedingung mit dem cast in Verbindung bringt.

Das geht glaub ich auch nur bei einzelnen Elementen (wahrscheinlich wegen type erasure), bzw. falls doch, wie?

Ja, eine Schleife oder ein map (wie in meinem allerersten Beispiel) brauchst du schon noch.