Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Switch con enum

  1. #1
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479

    Switch con enum

    ciao a tutti,
    ho un enum così definito:
    codice:
    public static enum Measurement {
       TIME("TIME"),
       DELAY("DELAY"),
       ADDRESS("ADDRESS");
    
       String name;
       Measurement( String name ){ this.name = name; }
       public String toString(){ return name; }
    }
    ora dovrei fare uno switch con una variabile di quel tipo, e ho scritto il seguente codice
    codice:
    switch( misurazione.getMisurazione() ){
       case Measurement.ADDRESS:
    					
    }
    la variabile misurazione ha al suo interno un campo di tipo Measurement e col metoto getMisurazione() mi viene restituito.
    Il compilatore mi dice che il riferimento non può essere qualificato per un case. Il motivo credo sia dovuto al fatto che ho assegnato ai vari enum delle String? Come posso risolvere ?
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

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

    Re: Switch con enum

    Originariamente inviato da Poker1
    Il compilatore mi dice che il riferimento non può essere qualificato per un case.
    Nel case ci deve essere solo il nome della costante ... non anche il nome della enum. Questo lo "deduce" il compilatore (dall'argomento nel switch). E dopotutto non avrebbe nemmeno senso poter specificare costanti di enum differenti!

    case ADDRESS:
    ....
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it L'avatar di Poker1
    Registrato dal
    Jul 2002
    Messaggi
    479
    stavo per scrivere la stessa cosa... :-)
    Non riscrivere la ruota, usa le librerie.
    by Bjarne Stroustrup
    EIDON SOFT MEMBER

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.