Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [java] estrarre il nome di una enum dal valore

    Bonjour

    Ho definito una classe enum, ora da un'altra classe vorrei stampare il nome usando il valore. Ho letto che esiste il metodo name(). Ma a me non funziona...

    codice:
    public class Extensions 
    { 
     /** Enums related to RELATIONSHIP **/ 
    public enum RelationEnum { 
    Spouse(0), 
    Family(1), 
    Coworker(2), 
    Friend(3); 
    
    private final int value; 
    private RelationEnum(final int value) { this.value = value; } } }
    nella classe in cui voglio ottenere il nome:
    codice:
    ...
    User user = new USER();
    user.STATUS = 1; (valore inserito per prova)
    textView=(TextView)findViewById(R.id.txtStatus_); 
    textView.setText(Extensions.RelationEnum.name(user.STATUS));
    ...

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Per stampare il valore di una variabile di tipo enum basta chiamare il metodo name().

    Detto questo perché non hai dichiarato user.STATUS direttamente di tipo RelationEnum invece che intero?
    In questo modo potevi scrivere semplicemente:
    user.STATUS = RelationEnum.Family;
    e poi per stampare:
    user.STATUS.name()

  3. #3
    perchè deve essere settato di default a intero. Comunque ho importato la libreria

    java.lang.Enum;

    e ho visto che non contiene il metodo name()

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Originariamente inviato da java_junior87
    perchè deve essere settato di default a intero. Comunque ho importato la libreria

    java.lang.Enum;

    e ho visto che non contiene il metodo name()
    Guarda qui:
    http://docs.oracle.com/javase/1.5.0/...lang/Enum.html

    << String name(): Returns the name of this enum constant, exactly as declared in its enum declaration. >>

  5. #5
    si l'avevo già letto, è per questo che mi stupisco del fatto che manchi quel metodo anche se ho importato la libreria

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Prova a compilare questo codice e dimmi se ti compila e funziona:
    codice:
    enum RelationEnum {
        Spouse, Family, Coworker, Friend;
    }
    
    class Demo {
        public static void main(String args[]) {
            RelationEnum re;
            re = RelationEnum.Family;
            System.out.println(re.name());
        }
    }

  7. #7
    no, non mi trova name()

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    Originariamente inviato da java_junior87
    no, non mi trova name()
    Riporta l'errore completo di compilazione.
    Riporta anche che versione di jdk usi e se usi un IDE o compili da riga di comando.

  9. #9
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328

    Moderazione

    E, magari, dovresti anche specificare che stai programmando per Android... non è scontato e non è esattamente la stessa cosa che programmare in Java (standard).


    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

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2012
    Messaggi
    707
    @LeleFT
    Meglio sapere il più possibile, non dovrebbe essere tuttavia un problema imputabile ad android:
    http://developer.android.com/referen...lang/Enum.html
    Ciao.

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.