Daniel Thoma: Such: Tool zum *.jad oder *.java zu *.class konvertieren

Beitrag lesen

Hallo Martin,

Hmmm, erstens kostet die Konvertierung/Autoboxing natürlich Performance - das muss nicht, kann aber ein Problem darstellen.

Autoboxing kostet Zeit ja. Die gefahr ist da aber höchstens, dass Programmierer durch dieses Feature vergessen, was da passiert und es dadurch an Stellen einsetzen, an denen das besser vermieden worden wäre.
Also an Stellen, wo man das bislang auch von Hand nicht gemacht hätte.
Casting kostet aber keine Zeit (jedenfalls nicht von Objekten, bei primitiven Typen schon) denn da wird ja nichts umgewandelt. Das ist ja nur ein Hinweis an den Kompiler, dass Du weißt, was Du da tust.

Was mich zweitens mehr interessiert: Kann man per Reflection den konkreten Typ des Generics zur Laufzeit ermitteln?

Ja kann man. Der Bytecode wurde dafür entsprechend erweitert. Wobei ich irgendwo gelesen habe, dass Generics abwärtskompatibel sind. Wenn man also für eine ältere VM kompiliert, geht es natürlich nicht mehr.

Grüße

Daniel