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 :

Probleme de conversion Object => String


Sujet :

avec Java

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Points : 90
    Points
    90
    Par défaut Probleme de conversion Object => String
    Bonjour,

    J'utilise la liste suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     List<String> result = (List<String>)session.createSQLQuery("SELECT nom, prenom, telephone FROM CLIENT"
                    + " WHERE email ='"+supportForm.getEmail()+"'").list();
    Lorsque j'essaie d'afficher le contenu de la liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.out.println(result.get(0));
    J'obtiens l'exception suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to java.lang.String
    Même avec un cast explicite cela ne marche pas. Ce qui est bizarre c'est que dans la liste des suggestions des méthodes que j'obtiens lorsque je tape "result.", la méthode get(int i) a un String comme valeur de retour.

    Aurirez-vous une idée ?


    --------------
    Cordialement.

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Cela signifie que createSQLQuery().list() ne renvoi pas un List<String> et que ton code doit générer un warning que tu as ignoré...


    a++

  3. #3
    Membre chevronné
    Inscrit en
    Août 2009
    Messages
    1 073
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 1 073
    Points : 1 806
    Points
    1 806
    Par défaut
    Pour être précis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT nom, prenom, telephone FROM ...
    => On sent déjà bien qu'on ne va pas avoir une liste de String ... sauf à penser qu'il n'y aurait qu'une ligne retournée, ou bien qu'on aurait une liste de String ordonnées par 3 (l'horreur à gérer ).

    On aura donc bien une List<Object[]>, où chaque Object[] contiendra en fait 3 String.

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2008
    Messages
    308
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 308
    Points : 90
    Points
    90
    Par défaut
    Vous avez complètement raison Rei Ichido.

    Merci bien à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme de conversion string to float
    Par cagli dans le forum Objective-C
    Réponses: 4
    Dernier message: 15/05/2013, 14h38
  2. Probleme de conversion MySql / String
    Par Phossoyeur dans le forum C#
    Réponses: 5
    Dernier message: 08/06/2012, 09h58
  3. Réponses: 7
    Dernier message: 28/02/2008, 16h56
  4. conversion Object en String
    Par cerco1 dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 16/08/2007, 16h18
  5. Probleme de conversion String -> Date avec SimpleDateFormat.parse(String)
    Par jeanlouis_lecodeur dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 02/07/2007, 09h18

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