[debutant] enumeration et tableau de String - Java - Programmation
Marsh Posté le 28-07-2005 à 11:05:10
Excuse-moi, mais quel est le type exact de tes données de départ ?
Nicolas
Marsh Posté le 28-07-2005 à 11:16:33
et surtout pour quelle raison veux tu laisser tomber ton enumération?
tu n'arrives pas à faire ce que tu veux avec?
a part ça si je comprends bien ta phrase
blaise_laporte a écrit : le compilateur ne reconnais pas comme String l'objet renvoyer par l'ArrayList. |
il te sera surement utile de faire une petite recherche sur le casting d'objet java...
Marsh Posté le 28-07-2005 à 11:31:16
ou tu fabrique toi même un objet : TableauDeString
apres tu fais une méthode de type void ajoute(String)
que tu appel montablo.ajoute(monString);
Marsh Posté le 28-07-2005 à 11:40:51
A la base, mes données sont des String compris dans une énumération.
Une énumération est inutilisable telle qu'elle. J'ai besoin de transformé cette énumération en tableau de String afin de pouvoir mieu manipuler les chaine.
J'ai pensé faire un nouvelle objet tableauDeString, mais j'aimerais autant que possible évité cette solution.
D'autant que j'ai crus comprendre que normallemnt, le compilateur reconnais tout seul quand il a a faire à une String.
Marsh Posté le 28-07-2005 à 11:44:39
Je ne suis pas sûr de bien comprendre ton problème.
Je veux bien t'aider, mais encore faudrait-il que tu répondes à ma question de 11h05 : quel est le type Java de cette énumération ? (EnumMap, EnumSet, ...)
Nicolas
Marsh Posté le 28-07-2005 à 11:56:09
Ma ligne de code qui declare l'enumeration:
Code :
|
getPortIdentifiers renvoi une énumération de String contenant les noms des différentes comm disponible sur l'ordi.
Citation : Returns: |
Et c'est cette liste que je desire récuperer dans un tableau de String
Aprés, j'avoue ne pas avoir vue dans ce cas précis qu'une énumeration pouvait avoir différent type; ce qui fais que ma question n'est peut être pas trés claire...
Marsh Posté le 28-07-2005 à 12:02:20
bon bah perso j'utilise jamais ni enumération ni objet tt fait de ce genre jtrouve ca bcp plus propre et plus adapter de coder ces objets en bas niveau... donc la javouerai que je ne peut pas t'aider. di moi si tu ve de l'aide pour ma solution... en attendant bon courage
Marsh Posté le 28-07-2005 à 12:04:31
Merci de ta réponse.
Le type de tes données n'était donc pas une énumération mais une Enumeration
Une méthode simple :
- parcourir l'Enumeration une fois (par hasMoreElement() and nextElements()) pour en connaître la taille ;
- créer le tableau ;
- parcourir l'Enumeration une seconde fois pour remplir le tableau.
Nicolas
Marsh Posté le 28-07-2005 à 12:15:59
énumération différent d'Enumeration!!! Va faloir que je revise ça... Merci.
Par contre, je croyais que lorsque l'on parcourait, ne serai-ce qu'une seule fois l'Enumeration, celle-ci se vidait. Erreur de ma part?
Marsh Posté le 28-07-2005 à 12:29:46
cela m'a simplifier les choses, mais j'ai toujours un probleme.
Cette ligne de code
Code :
|
me renvoie cette erreur:
Citation : GestionComm.java:27: incompatible types |
Marsh Posté le 28-07-2005 à 12:48:13
(1)
Par contre, je croyais que lorsque l'on parcourait, ne serai-ce qu'une seule fois l'Enumeration, celle-ci se vidait. Erreur de ma part? |
Vraiment ? Je ne savais pas. Dans ce cas là, utilise une ArrayList.
(2) Ton message d'erreur est normal : ton Enumeration semble contenir des Object, et tu veux remplir un tableau de String. Tu dois "caster" :
Code :
|
Nicolas
Marsh Posté le 28-07-2005 à 13:58:25
C'est bon, j'ai trouvé comment faire.
Je n'ai plus qu'une erreur à l'execution.
En tout cas, merci a vous pour votre aide.
Marsh Posté le 28-07-2005 à 16:33:18
Nicolas_75 a écrit : Merci de ta réponse. |
Tu es sur que l'Enumeration ne se vide pas lorsque je la parcoure la premiere fois. Parce que quand je la parcoure la deuxieme fois, elle est vide...
Voici le code
Code :
|
et voici ma sortie:
Citation : |
Et donc, il ne rentre pas dans la deuxieme boucle for, ce qui me laisse pensé que l'Enumeration est vide
Marsh Posté le 28-07-2005 à 16:37:55
OK. Dans ce cas, parcours l'Enumeration une seule fois, stocke les éléments dans une Array List. Et, à la fin, convertis l'ArrayList en tableau.
Nicolas
Marsh Posté le 28-07-2005 à 16:41:58
Nicolas_75 a écrit : OK. Dans ce cas, parcours l'Enumeration une seule fois, stocke les éléments dans une Array List. Et, à la fin, convertis l'ArrayList en tableau. |
Ce qui reviens à mon premier message, comment faire pour convertir l'ArrayListe en tableau de Strin? 8)
EDIT: laisser tombé, je crois avoir trouvé
Ou l'art de posé les questions trop vite....
Marsh Posté le 28-07-2005 à 17:00:03
Si tu es en Java 1.5, tu transformes en la parcourant ton Enumeration en ArrayList<String> (avec un cast à chaque fois). Ensuite tu fais un bête toArray().
Nicolas
Marsh Posté le 28-07-2005 à 10:33:16
Voila, j'ai une énumération contenant plusieurs chaine de charactere que je voudrais stocké dans un tableau de string. Mais comme je ne connais pas la taille de mon énumération, je ne peux pas créer le tableau de String. J'ai pensé essayer d'utilisé une ArrayList pour passé de l'énumeration ou tableau de String, mais ,comme je devais m'y attendre, le compilateur ne reconnais pas comme String l'objet renvoyer par l'ArrayList.
Message édité par blaise_laporte le 28-07-2005 à 17:07:35