J'ai message d'erreur

Résolu
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 25 avril 2007 à 17:35
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 - 28 avril 2007 à 22:47
salut
je coince car j'ai un message un message apparait (java.lang.ClassCastException)<!-- / message -->
j'ai la liste  Z [222222222222222222221111111111222222222222222222221111111112, 222222222222222222221111111111222222222222222222221111111113, 222222222222222222221111111111222222222222222222221111111114, 222222222222222222221111111112222222222222222222221111111113, 222222222222222222221111111112222222222222222222221111111114, 222222222222222222221111111113222222222222222222221111111114]

voila le code
<!-- / message -->
System.out.println("la liste Z"+Z);
 
    for(int dd =0;dd <Z.size();dd++){
              String Q1 =(String) Z.get(dd);
                System.out.println("la liste E"+Q1);
 
    }

comment régler le pb j'aimerais bien que vous m'aidez a le résoudre
<!-- / message -->

12 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
26 avril 2007 à 14:53
Tout simplement parceque ta liste ne contient pas des objets String.

Pour affirmer ça:


for (int i = 0; i < list.size (); ++i) {
    Object obj = list.get (i);
    if (obj instanceof String) {
       String str = (String)obj;
       // ...
       // ...
    }
    else {
       System.out.println ("ceci n'est pas une instance de la classe String.");
    }
}
3
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
26 avril 2007 à 00:31
Salut:
Il y a une erreur de transtypage.

Comment as tu remplis ta liste? il est clair que ta liste contient des objets non instances de la classe String.

Il vaut mieux faire ainsi:

for (int i = 0; i < list.size (); ++i) {
    Object obj = list.get (i);
    if (obj instanceof String) {
       String str = (String)obj;
       // ...
       // ...
    }
}
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
26 avril 2007 à 13:24
salut
for (int i = 0; i < list.size (); ++i) {
    Object obj = list.get (i);
    if (obj instanceof String) {
       String str = (String)obj;
 // j'ai ajouté System.out.println pour afficher les valeurs de la liste Z mais ça marche pas )

System.out.println("la valeur"+str);
}}

mais rein n'affiché
pourquoi
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
26 avril 2007 à 17:42
tu m'as pas bien compris ,je voulais afficher les élements a chaque fois pas pour  tester comme tu m'a fait avec ton code 

    for(int dd =0;dd <Z.size();dd++){
              String Q1 =(String) Z.get(dd);
                System.out.println("élément "+Q1);
 
    }

mais un message d'erreur java.lang.ClassCastException)
je voulais éviter ce message
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
26 avril 2007 à 17:44
je voulais bien affiché les éléments
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
26 avril 2007 à 17:52
Rassures toi, j'ai bien compris ce que tu veux faire.
Mais ceci est à présent est impossible, il me semble que ta liste ne comporte pas des String, sinon un telle exception n'a pas dû être déclenchée.

Comment remplis tu la liste?

Il faut que tu comprennes que tu es en train de forcer un objet à être qu'il ne l'est pas.
 
Comme si tu forces une chat à devenir un lion.

Tu dois comprendre que lorsque tu met un cast (String)
devant un objet ceci ne peut pas toujours se passer.
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
26 avril 2007 à 18:02
Penses pas à cette métaphore.
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
26 avril 2007 à 18:51
merci mais je bois de ça c'est urgent tu as une autre méthode
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
26 avril 2007 à 21:13
Comment remplis tu la liste?

Je veux voir comment tu initialses la liste c'est là la source d'erreur.
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
27 avril 2007 à 20:17
merci j'ai utilisé toString et ça marche trés bein String Q1 =Z.get(dd).toString;
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
27 avril 2007 à 22:55
Comment ça?

Normalement, Object.toString () retourne une description d'un objet.
0
ulysse00 Messages postés 291 Date d'inscription lundi 6 novembre 2006 Statut Membre Dernière intervention 12 mai 2013 1
28 avril 2007 à 22:47
salut 
mon  problème de ClassCastException alors j'ai tronsformé des StringBuffer en String  et j'ai appelé la méthode toString()
0
Rejoignez-nous