Visualizzazione dei risultati da 1 a 3 su 3

Hybrid View

  1. #1

    java.lang.ClassCastException: java.util.ArrayList cannot be cast to java.lang.Comparable at java.util.TreeMap.getEntry(Unknown Source) at java.util.TreeMap.get(Unknown Source)

    Vi posto il codice della classe principale che segnala questo errore..Potreste aiutarmi a capire dove sbaglio?Se vi è necessario posso incollare anche qualche altra classe semmai qualcuno individua il problema..


    codice:
    package agenzia;
    
    
    import java.util.*;
    
    
    public class Agenzia {
        Map<String,Destinazione>destinazioni=new TreeMap<String,Destinazione>();
        Map<String,Cliente>clienti=new TreeMap<String,Cliente>();
        Map<String,Operatore>operatori=new TreeMap<String,Operatore>();
        
        
    
    
        public void nuoveDestinazioni (String[] nomi) {
            
            for(int i=0;i<nomi.length;i++){
                String nomed=new String(nomi[i]);
                Destinazione dest =new Destinazione(nomed);
                destinazioni.put(nomed, dest);
                }
        }
        public void nuoviClienti (String[] nomi) {
            for(int i=0;i<nomi.length;i++){
                String nomec=new String(nomi[i]);
            Cliente cl =new Cliente(nomec);
                clienti.put(nomec,cl);
                }
            
        }
        public Operatore nuovoOperatore (String nome, String[] nomiDestinazioni) throws  AgenziaException {
            Operatore op=new Operatore(nome);
            operatori.put(nome,op);
            for(int i=0;i<nomiDestinazioni.length;i++){
                String nomedestop=new String(nomiDestinazioni[i]);
                if(!destinazioni.containsKey(nomedestop))throw new AgenziaException();
                List<String>destnop=new ArrayList<String>();
                op.setDest(destnop);
                Destinazione dd=destinazioni.get(destnop);
                ArrayList<String>opp=new ArrayList<String>();
                opp.add(nome);
                dd.setOperatorecheeffettua(opp);
                
                }
             return op;
            
        }
        public Destinazione getDestinazione (String nome) throws  AgenziaException {
            if(!destinazioni.containsKey(nome))throw new AgenziaException();
            return destinazioni.get(nome);
            
        }
        public Operatore getOperatore (String nome) throws  AgenziaException {
            if(!operatori.containsKey(nome))throw new AgenziaException();
            return operatori.get(nome);
            
        }
        public Cliente getCliente(String nome) throws  AgenziaException {
            if(!clienti.containsKey(nome))throw new AgenziaException();
            return clienti.get(nome);
        
        }
    
    
    }
    Ultima modifica di LeleFT; 15-07-2014 a 11:01 Motivo: Aggiunti i tag CODE

  2. #2
    Ciao, molto probabilmente il problema sta nei setter delle classi Operatore o Destinazione i relativi metodi sospettati setOperatorecheeffettua setDest

    controlla meglio il metodo setOperatorecheeffettua perche penso sia lui la causa...

    Ti conviene comunque imparare a leggere lo stack degli errori perche se guardi bene ti dice già tutto lui fammi sapere ciaoo

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    L'errore è qui:


    codice:
    List<String>destnop=new ArrayList<String>();
    op.setDest(destnop);
    Destinazione dd=destinazioni.get(destnop);

    Qui definisci un List<String> chiamato "destnop", che poi usi come chiave nella TreeMap "destinazioni" per ottenere la Destinazione... ma il TreeMap ha come chiavi delle stringhe, non delle liste di stringhe. Quindi, non puoi usare "destnop" come chiave.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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 © 2026 vBulletin Solutions, Inc. All rights reserved.