OLIVIER CAYRON wrote:
RE: cast Object[] en int[]?

Yo !

> C'est tout a fait possible, et particulierement pratique pour
> transformer un ArrayList en tableau type' :
>
> List l = new ArrayList();
> // ajouter des Integer
>
> Integer[] tableau = (Integer[]) l.toArray(new Integer[0]);

Mouai, si cette solution est beaucoup plus rapide, on est quand même
très loin d'un simple cast (le toArray fait quand même un arraycopy).

Bien evidemment, mais ce n'etait pas la question initiale (qui demandait s'il etait possible de caster un tableau entier).

En plus, sauf erreur, la solution la plus élégante est de faire :

Integer[] tableau = (Integer[]) l.toArray(new Integer[ l.size() ]);

Cela évite d'avoir à faire un newInstance.

Je ne pense pas, le parametre donne' a toArray() est simplement destine a donner la classe des elements pour que toArray puisse les instancier.  Il y aura un newInstance fait par element dans les deux cas, non ?
-- 
Cédric
http://beust.com/weblog




Répondre à