Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2057 connectés 

  FORUM HardWare.fr
  Programmation
  Java

   [debutant] enumeration et tableau de String

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[debutant] enumeration et tableau de String

n°1162698
blaise_lap​orte
Posté le 28-07-2005 à 10:33:16  profilanswer
 

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
mood
Publicité
Posté le 28-07-2005 à 10:33:16  profilanswer
 

n°1162780
Nicolas_75
Posté le 28-07-2005 à 11:05:10  profilanswer
 


Excuse-moi, mais quel est le type exact de tes données de départ ?
 
Nicolas

n°1162801
victorus_e​cl
PIBCAK
Posté le 28-07-2005 à 11:16:33  profilanswer
 

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...

n°1162819
OyT
dyslexics have more fnu
Posté le 28-07-2005 à 11:31:16  profilanswer
 

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);


---------------
yop yop
n°1162836
blaise_lap​orte
Posté le 28-07-2005 à 11:40:51  profilanswer
 

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.

n°1162841
Nicolas_75
Posté le 28-07-2005 à 11:44:39  profilanswer
 


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

n°1162866
blaise_lap​orte
Posté le 28-07-2005 à 11:56:09  profilanswer
 

Ma ligne de code qui declare l'enumeration:
 

Code :
  1. Enumeration portList = CommPortIdentifier.getPortIdentifiers();


 
getPortIdentifiers renvoi une énumération de String contenant les noms des différentes comm disponible sur l'ordi.

Citation :

Returns:
    an Enumeration object that can be used to enumerate all the ports known to the system


 
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...
 
 

n°1162876
OyT
dyslexics have more fnu
Posté le 28-07-2005 à 12:02:20  profilanswer
 

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


---------------
yop yop
n°1162879
Nicolas_75
Posté le 28-07-2005 à 12:04:31  profilanswer
 


Merci de ta réponse.
Le type de tes données n'était donc pas une énumération mais une Enumeration  :wahoo:  :wahoo:  
 
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

n°1162895
blaise_lap​orte
Posté le 28-07-2005 à 12:15:59  profilanswer
 

é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?

mood
Publicité
Posté le 28-07-2005 à 12:15:59  profilanswer
 

n°1162902
souk
Tourist
Posté le 28-07-2005 à 12:22:20  profilanswer
 

bah oui

n°1162910
blaise_lap​orte
Posté le 28-07-2005 à 12:29:46  profilanswer
 

cela m'a simplifier les choses, mais j'ai toujours un probleme.
Cette ligne de code

Code :
  1. temp[i]= portList.nextElement();


 
me renvoie cette erreur:

Citation :

GestionComm.java:27: incompatible types
found   : java.lang.Object
required: java.lang.String
                        temp[i]= portList.nextElement();
                                                     ^

n°1162936
Nicolas_75
Posté le 28-07-2005 à 12:48:13  profilanswer
 

(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 :
  1. temp[i]= (String) portList.nextElement();


Nicolas

n°1163002
blaise_lap​orte
Posté le 28-07-2005 à 13:58:25  profilanswer
 

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.
[:athome]

n°1163505
blaise_lap​orte
Posté le 28-07-2005 à 16:33:18  profilanswer
 

Nicolas_75 a écrit :

Merci de ta réponse.
Le type de tes données n'était donc pas une énumération mais une Enumeration  :wahoo:  :wahoo:  
 
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


 
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 :
  1. portList = CommPortIdentifier.getPortIdentifiers();
  2. for(i =0; portList.hasMoreElements(); portList.nextElement()){
  3. i++;
  4. System.out.println("i=" +i);
  5. }
  6. temp = new String[i];
  7. CommPortIdentifier portId;
  8. for (i = 0;portList.hasMoreElements(); i++){
  9. portId = (CommPortIdentifier)portList.nextElement();
  10. temp[i]= portId.getName();
  11. System.out.println("port" + i + "=" + temp[i]);
  12. }


 
et voici ma sortie:
 

Citation :


i=1
i=2
i=3


 
Et donc, il ne rentre pas dans la deuxieme boucle for, ce qui me laisse pensé que l'Enumeration est vide


Message édité par blaise_laporte le 28-07-2005 à 16:34:44
n°1163525
Nicolas_75
Posté le 28-07-2005 à 16:37:55  profilanswer
 

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

n°1163539
blaise_lap​orte
Posté le 28-07-2005 à 16:41:58  profilanswer
 

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.
 
Nicolas


 
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.... :bounce:  :D


Message édité par blaise_laporte le 28-07-2005 à 16:43:28
n°1163592
Nicolas_75
Posté le 28-07-2005 à 17:00:03  profilanswer
 


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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

   [debutant] enumeration et tableau de String

 

Sujets relatifs
Entête de tableau fixe sous IEstring et append
[c#] Convertir un string en float[HTML] alignement cellules d'un tableau.
Un tableau en Css/xhtml dans une include....splitpath avec des std::string
Latex : liste dans tableauTableau et background
vbs, un debutant a besoin d'aideun probleme d'un debutant en ASM
Plus de sujets relatifs à : [debutant] enumeration et tableau de String


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR