genre tu fais une classe de tableau avec des éléments génériques.
Maintenant tu veux un tableau de int.
Java :
le compilo remplace à la bourrine dans la classe le type générique par des Object et met des casts partout.
Avantage : pas de modificatoin du bytecode, compatible avec les vieilles machines virtuelles d'y a 10 ans (en même temps quel intérêt de les utiliser ?)
CLR de l'ECMA :
ce remplacement est effectué lors de l'exécution, et lorsque tu demandes le type d'un élément, il te dira que c'est "un type générique, en l'occurence de int pour cette instance", alors que Java te répondra "c'est un tableau d'object" dans tous les scenario de reflexion (tu demande des infos au code sur lui même).
Je te laisse tout de suite apprécier la différence et les restrictions qu'apporte la solution Java.
[^] # Re: mon avis à moi
Posté par TImaniac (site web personnel) . En réponse au journal contribuer au libre. Évalué à 4.
Maintenant tu veux un tableau de int.
Java :
le compilo remplace à la bourrine dans la classe le type générique par des Object et met des casts partout.
Avantage : pas de modificatoin du bytecode, compatible avec les vieilles machines virtuelles d'y a 10 ans (en même temps quel intérêt de les utiliser ?)
CLR de l'ECMA :
ce remplacement est effectué lors de l'exécution, et lorsque tu demandes le type d'un élément, il te dira que c'est "un type générique, en l'occurence de int pour cette instance", alors que Java te répondra "c'est un tableau d'object" dans tous les scenario de reflexion (tu demande des infos au code sur lui même).
Je te laisse tout de suite apprécier la différence et les restrictions qu'apporte la solution Java.
Pour plus d'info : http://www.artima.com/intv/genericsP.html(...)