Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Lista o Array di stringhe??

    Ciao, volevo un vostro parere riguardo un mio problema. Ogni volta ke chiamo il metodo aggiungioperatore vorrei che il parametro opTur venga memorizzato in una struttura dati, ma non so quale utilizzare.

    premettendo ke il campo operatoreTuristico è una enum dichiarata in un altra classe:
    codice:
    public class Prenotazioni {
        public enum operatoreTuristico{
         Marco, Alberto, Stefano, Gianni, Paola, Giulia;
        }
       ecc...
    in quest'altra classe vorrei:
    codice:
    public class Agenzia {
        private String nome;
        private String Indirizzo;
        private long telefono;
        <struttura che raccolga volta per volta i nomi degli operatori che ci lavorano, evitando i duplicati>
    
        ecc...
       
       public void aggiungioperatore(Prenotazioni.operatoreTuristico opTur){
            //aggiungo l'Operatore Turistico in quelli che trattano con l'agenzia
        }
    visto ke succesivamente dovrò implementare un metodo (boolean) che ricevendo come parametro un operatoreTuristico mi ritorni true se lavora con l'agenzia e false altrimenti.. quindi una struttura dove sia possibile scorrere gli elementi e verificare la presenza di un opTur

    cosa mi consigliate??

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

    Re: Lista o Array di stringhe??

    Originariamente inviato da crystal86
    Ciao, volevo un vostro parere riguardo un mio problema. Ogni volta ke chiamo il metodo aggiungioperatore vorrei che il parametro opTur venga memorizzato in una struttura dati, ma non so quale utilizzare.

    premettendo ke il campo operatoreTuristico è una enum dichiarata in un altra classe:

    visto ke succesivamente dovrò implementare un metodo (boolean) che ricevendo come parametro un operatoreTuristico mi ritorni true se lavora con l'agenzia e false altrimenti.. quindi una struttura dove sia possibile scorrere gli elementi e verificare la presenza di un opTur

    cosa mi consigliate??
    Di usare un EnumSet<Prenotazioni.operatoreTuristico>

    EnumSet è un "set" particolare, specializzato per l'uso con le enum. In un set non ci possono essere duplicati.
    E se devi verificare se uno degli operatori è nel set .... è banalissimo, non c'è da scorrere un bel nulla!!! Basta usare contains().

    EnumSet non si istanzia direttamente, ma lo si ottiene invocando uno dei metodi static. Vedi javadoc.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Mi vergogno della mia ignoranza in java.. ma non riesco a farlo funzionare, ne tantomeno ho trovato qualkosa sui miei libri di testo ne esempi simili in internet..
    codice:
    public class Agenzia {
        ...
        EnumSet <Prenotazioni.operatoreTuristico> listaOperatori; 
        ...
    
        public void aggiungiOperatore(Prenotazioni.operatoreTuristico opTur){
            listaOperatori.add(opTur); // riga 69
        }
    
        public boolean inAgenzia(Prenotazioni.operatoreTuristico opTur){
             if(listaOperatori.contains(opTur))
                      return true;          
             else return false;
        }
    mi da il seguente errore:
    Exception in thread "main" java.lang.NullPointerException
    at Agenzia.aggiungiOperatore(Agenzia.java:69)

    come mai?

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da crystal86
    mi da il seguente errore:
    Exception in thread "main" java.lang.NullPointerException
    Ovviamente, come per qualunque altra classe, devi creare una istanza del EnumSet.
    E come ho detto sopra, non puoi fare new EnumSet(........

    Devi usare i metodi statici di EnumSet. Nel costruttore di Agenzia farai quindi:

    listaOperatori = EnumSet.noneOf(Prenotazioni.operatoreTuristico.cla ss);

    E avrai un EnumSet istanziato e inizialmente vuoto.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.