1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Namen einer Konstanten in Java

Dieses Thema im Forum "OS X-Developer" wurde erstellt von slayercon, 21.09.06.

  1. slayercon

    slayercon Meraner

    Dabei seit:
    17.01.05
    Beiträge:
    231
    Hallo,
    kennt jemand von euch die möglichkeit den Namen, nicht den Inhalt einer Konstanten als String auszugeben ?? geht um eine template konfigurationsgeschichte ...
    Bsp.
    Code:
    private static String REPORT_PREFIX = "report/";
    lg s.
     
  2. Senior Sanchez

    Senior Sanchez Damasonrenette

    Dabei seit:
    08.09.06
    Beiträge:
    491
    Ach du willst diesen String da ausgeben?
    Hmm, das geht nur mittels Reflection.

    Alternativ schaue dir mal enums an, da kann man auch Konstanten definieren nur wirds da etwas tricky.
     
  3. kauan

    kauan Stina Lohmann

    Dabei seit:
    31.12.05
    Beiträge:
    1.043
    Ich weiss zwar die Antwort auf deine Frage nicht, aber Konstanten definiert man als static final. Dadurch koennen sie spaeter nicht geaendert werden (der Sinn von Konstanten).
    Siehe hier:
    2.7.11 Finale lokale Variablen

    gruss
    Jonathan
     
  4. slayercon

    slayercon Meraner

    Dabei seit:
    17.01.05
    Beiträge:
    231
    @kauan
    danke für den Hinweis weiss ich eigentlich aber .... naja irgendwie übersehen

    @Senior Sanchez
    Wieso Enums ?? die Konstante soll nur einen Wert haben und ich würde den Namen der Konstanten gerne als Key für einen Cache (String) benutzen ...

    lg s.
     
  5. MatzeLoCal

    MatzeLoCal Rheinischer Bohnapfel

    Dabei seit:
    05.01.04
    Beiträge:
    2.421
    Was spricht dann gegen eine HashMap?

    Senior Sanchez meinte vll, dass Du die Kontantennamen mittels Enumeration speichern und verwalten solltest.
     
  6. Senior Sanchez

    Senior Sanchez Damasonrenette

    Dabei seit:
    08.09.06
    Beiträge:
    491
    Gaynau. So war das gemeint.

    Am besten ist aber sicherlich wirklich die Map.
     
  7. iMe

    iMe Gast

    Code:
    import java.lang.reflect.Field;
    import java.lang.reflect.Modifier;
    
    public class PrintConst {
    
    	private static final String MY_CONST = "whatever!";
    	
    	public static void main(String[] args) {
    
    		Field[] fields = PrintConst.class.getDeclaredFields();
    		for (int i = 0; i < fields.length; i++) {
    			Field field = fields[i];
    			int mod = field.getModifiers();
    			if(Modifier.isFinal(mod) && Modifier.isStatic(mod) && Modifier.isPrivate(mod)) {
    				System.out.println(field.getName());
    			}
    		}
    	}
    }
    hth
     
    slayercon gefällt das.
  8. slayercon

    slayercon Meraner

    Dabei seit:
    17.01.05
    Beiträge:
    231
    danke die reflectionlösung werde ich mal austesten ... aber auch die hashmap is keine blöde idee danke an alle ..
    lg s.
     
  9. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
  10. slayercon

    slayercon Meraner

    Dabei seit:
    17.01.05
    Beiträge:
    231
    stimmt da hab ich beide werte direkt als string ... könnte beim nächstem refactoring durchputz gemacht werden ...

    danke macmark
     

Diese Seite empfehlen