Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Class Cast Exception

  1. #1

    Class Cast Exception

    Salve ragazzi sto impazzendo poichè non riesco a risolvere quest'eccezzione. Invocando il metodo in questione mi restituisce un classCastException.

    Il parametro di input è una HashMap che contiene un insieme di Bean associato a delle chiavi. Nella Mappa c'è --->Chiave1-Bean,Chiave2-Bean...........

    Aiuto aiuto


    [Java]
    //Restituisce l'array di chiavi della Tabella
    public String [] chiaviMappa(HashMap bean){

    System.out.println("Sono in chiavi mappa-Classe-->"+bean.keySet().toArray().getClass());
    System.out.println("Stampo la dimensione della mappa: "+bean.size());
    System.out.println("bean.keySet(): "+bean.keySet());
    System.out.println("bean.keySet().getClass()-> "+bean.keySet().getClass());

    String [] keysMappa=new String[bean.size()];
    int i=0;
    for (Enumeration e =(Enumeration) bean.keySet() ; e.hasMoreElements() {
    keysMappa[i]=(String)e.nextElement();
    i++;
    }



    return keysMappa;

    }
    [/Java]
    Roberto Dungino

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Class Cast Exception

    Originariamente inviato da dungino
    keysMappa[i]=(String)e.nextElement();
    Evidentemente, se ti becchi ClassCastException è perché le chiavi non sono di tipo String. Verifica bene di che tipo sono.

    E comunque se da un Set (ottenuto con keySet() ) vuoi ottenere un array, più semplicemente usa toArray() di Set.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    questo è il metodo di inserimento e la chiave è di tipo String, come mai succede il ClassCast Exception ???

    //Inserimento HashMap
    public HashMap insert(SIAForm bean, HashMap Bean,String key){
    try{

    System.out.println("Formbean->"+bean);
    System.out.println("HashMap->"+Bean);
    System.out.println("key->"+key);
    if(Bean!=null){
    System.out.println("Bean non nullo");
    Bean.put(bean,key);
    }

    }
    catch (Throwable e)
    {
    e.printStackTrace();
    }

    return Bean;

    }
    Roberto Dungino

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da dungino
    Bean.put(bean,key);
    Mi sa che hai invertito ..... infatti 'bean' è un SIAForm, non String.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Ho cambiato ma mi dà ancora il classCastException...


    Ciao
    Roberto Dungino

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2007
    Messaggi
    39
    Bean.put(bean,key);
    e' questa l'istruzione che ti da' eccezione? Hai provato invertendo i parametri?

    Bean.put(key, bean);

    Prova a postare tutto il codice, cosi' e' piu' chiaro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.