Bonjour
Je souhaite convertir un ArrayList de String en un tableau de Integer
ceci ne marche pasCode:
1
2
3 ArrayList<String> elt = new ArrayList<String>(); Integer []tab =(Integer[]) elt.toArray();
Merci de l'aide
Version imprimable
Bonjour
Je souhaite convertir un ArrayList de String en un tableau de Integer
ceci ne marche pasCode:
1
2
3 ArrayList<String> elt = new ArrayList<String>(); Integer []tab =(Integer[]) elt.toArray();
Merci de l'aide
Bah évidemment que ça ne marche pas, de dire "lisez mon tableau de pommes comme un tableau de choux SVP" !
Il va falloir que tu initialises un tableau de la bonne longueur, puis que tu boucles pour remplir chaque case en utilisant Integer.parseInt et en gérant les éventuelles NumberFormatException.
ok ! justement je ne voulais pas boucler, croyant à une solution plus courte
Si ç'avait été une transformation en tableau de String, tu aurais pu faire :
ou :Code:String[] tab = (String[])list.toArray(new String[list.size()]);
Mais il ne faut pas perdre de vue que ce qui est effectué dans ce code, c'est un cast, et que "caster" un String en Integer (sans même parler de tableaux) ce n'est pas possible.Code:
1
2 String[] tab = new String[list.size()]; list.toArray(tab);
EDIT : les exemples donnés sont ceux qui fonctionnent en java 1.4 (je n'ai que ça au boulot) mais il est fort possible qu'avec les types génériques le très simple String[] tab = list.toArray(); fonctionne ;)