IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Convertir en String


Sujet :

avec Java

  1. #1
    Membre du Club Avatar de memo11
    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 132
    Points : 52
    Points
    52
    Par défaut Convertir en String
    J’ai crée un vector contenant le résultat d’exécution d’une requête, puis je l’affiche en combobox, mais ses éléments sont sous forme [item], j'essaie d’éliminer ‘[]’ avec toString mais il me renvoie une valeur fausse ...
    Comment convertir vector([]) en string ???
    Merci de votre aide

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Points : 422
    Points
    422
    Par défaut
    Arrays.toString() ??

  3. #3
    Membre du Club Avatar de memo11
    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 132
    Points : 52
    Points
    52
    Par défaut
    Bonjour,
    Merci bien pour votre réponse,
    J’essaie avec ce code mais rien ne change, pour vous me comprenez voila note code :
    J’ai crée deux méthodes en même classe :
    Méthode1 retourne un vector :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     public Vector afficher(..........) throws RemoteException {
                 .
                 .
                 .
                 .
     Vector<Vector<String>> datatable = new Vector<Vector<String>>(); 
          //*************************************************
          try {
            Statement stmt = conn.createStatement();
            resultats = stmt.executeQuery(req);
            } catch (SQLException e) {
                   System.err.println(e.getMessage());//"Anomalie lors de l'execution de la requete");
     
            }
            //parcours des données retournees
            try {
              ResultSetMetaData rsmd = resultats.getMetaData();
              int nbCols = rsmd.getColumnCount();
              boolean encore = resultats.next();
              datatable.add(null);
              while (encore) {
                    Vector<String> ligne = new Vector<String>();//ligne de datatable
               for (int i = 1; i <= nbCols; i++){
                    ligne.add(resultats.getString(i)); //cellule de la ligne
              }
                    datatable.add(ligne);
                encore = resultats.next();
              }
               resultats.close();
            } catch (SQLException e) {
            System.err.println(e.getMessage());
            }
           return datatable;
        }
    Méthode2 convertir en string :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
             Vector v = afficher (.........);
             String[] s = new String[v.size()];
     
             for( int i=0; i<v.size(); i++)
                s[i] =(String) v.elementAt(i);

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    salut

    je ne suis pas sur mais bon voila

    pour moi tu cherche à cast un Vector<String> en String (je ne comprend pas que le compilateur laisse passé ça )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s[i] =(String) v.elementAt(i);
    test peut être à la place

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s[i] =v.elementAt(i).toString();

  5. #5
    Membre du Club Avatar de memo11
    Profil pro
    Étudiant
    Inscrit en
    Août 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2009
    Messages : 132
    Points : 52
    Points
    52
    Par défaut
    merci bien rolfone,
    j'essaie ça mais rien ne change

  6. #6
    Membre expert
    Avatar de natha
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2006
    Messages : 2 346
    Points : 3 083
    Points
    3 083
    Par défaut
    Citation Envoyé par rolfone Voir le message
    pour moi tu cherche à cast un Vector<String> en String (je ne comprend pas que le compilateur laisse passé ça )
    Pourquoi pas ? Object a une méthode toString(), tout object Java peut être transformé en String, le cast appelle automatiquement cette méthode (même si ce n'est pas toujours pertinent).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String str =v.elementAt(i).toString();
    s[i] = str.substring(1, str.length() - 1);
    Mais bon, le plus propre serait quand même d'avoir un vrai objet java avec une méthode toString() que tu implémentes plutôt qu'avoir un Vector<String> (sachant de plus que l'utilisation de Vector est déconseillée, au profil de ArrayList).
    Comment ça ? La réponse à ton problème n'est ni dans la faq, ni dans les tutos, ni dans sources ??? Etonnant...
    De la bonne manière de poser une question (et de répondre).
    Je ne fais pas de service par MP. Merci (...de lire les règles...).
    Ma page dvp.com

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Points : 422
    Points
    422
    Par défaut
    T'es sûr que c'est un Vector<String> que tu veux convertir en String ?

    Ce ne serait pas plutôt un Vector<Vector<String>> ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Vector<Vector<String>> datatable = new Vector<Vector<String>>();

  8. #8
    Membre confirmé
    Inscrit en
    Mars 2010
    Messages
    439
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 439
    Points : 533
    Points
    533
    Par défaut
    je veux pas dire de betise mais de mémoire le vector n'a pas de type, il prends le type de ce qu'on y mets dedans, donc si dedans ta un string, ben ton objet est un string, la il semblerait qu'il est item si j'ai bien compris. mais est ce que item est un string ??

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 342
    Points : 419
    Points
    419
    Par défaut
    oui il vaut mieux utiliser ArrayList

    alors moi je te propose une solution pas dure a mètre en place

    - tu crée un class qui extende ArrayList<E>
    - et tu redéfinie la méthode toString()
    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
        public class RolfList<E> extends ArrayList<E>{
     
            @Override
            public String toString() {
                StringBuilder sb = new StringBuilder();
                sb.append("(¨`-. ");
                for (E element : this) {
                    sb.append(element);
                    sb.append("*");
                }
                sb.setLength(sb.length() - 1);
                sb.append(" .-'¨)");
                return sb.toString();
            }
        }
    comme cela c'est toi qui choisie comment ce comporte ton affichage

    exemple d'utilisation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
            List<List<String>> test = new ArrayList<List<String>>();
            RolfList<String> arrayaz = new RolfList<String>();
            for (char c = 'a'; c <= 'z'; c++) {
                arrayaz.add(Character.toString(c));
            }
            RolfList<String> arrayAZ = new RolfList<String>();
            for (char c = 'A'; c <= 'Z'; c++) {
                arrayAZ.add(Character.toString(c));
            }
            RolfList<String> arraynum = new RolfList<String>();
            for (char c = '0'; c <= '9'; c++) {
                arraynum.add(Character.toString(c));
            }
            test.add(arrayaz);
            test.add(arrayAZ);
            test.add(arraynum);
     
            System.out.println(test);
    et le output donne

    [(¨`-. a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z .-'¨), (¨`-. A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z .-'¨), (¨`-. 0*1*2*3*4*5*6*7*8*9 .-'¨)]

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    299
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 299
    Points : 422
    Points
    422
    Par défaut
    Bon j'ai testé ton Vector<Vector<String>> et en effet dans la console il affiche le résultat comme on afficherait un tableau standard :
    [[1x1, 1x2], [2x1, 2x2]]

    pour parcourir ta variable database, tu peux utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		for(Vector<String> v : database){
    			for(String s : v){
    				System.out.println(s);
    			}
    		}
    Ensuite, tu dis vouloir récupérer un String de tout ça, il faudra préciser sous quel forme tu souhaites cette chaine de caractère. (Avec des retours à la lignes entre chaque valeur?, un séparateur ?, tout à la suite ?)

    Edit : comme je suis un peu lent... je n'avais pas vu la réponse de Rolfone. Donc en effet, mieux vaut utiliser des ArrayList, donc n'utilise mon exemple que si tu ne souhaite pas changer.

    Ps. : Rolfone... tu donnes souvent ton nom à tes objets ? ^^ RolfArray, RolfClass, RolfWare, ... ^^

Discussions similaires

  1. Convertir un string en binaire
    Par TekP@f dans le forum ASP
    Réponses: 4
    Dernier message: 10/05/2005, 16h17
  2. [Firebird] Convertir une String en date
    Par laffreuxthomas dans le forum SQL
    Réponses: 1
    Dernier message: 04/05/2005, 19h42
  3. [Débutant(e)]convertir un string en entier
    Par harris_macken dans le forum Langage
    Réponses: 2
    Dernier message: 01/04/2005, 07h20
  4. Convertir un string en type property ou object
    Par bencot dans le forum Langage
    Réponses: 2
    Dernier message: 20/11/2004, 20h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo