1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

dynamische variablenabfrage

  • nodestroy
  • 16. März 2009 um 17:37
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • nodestroy
    Punkte
    349
    Beiträge
    65
    • 16. März 2009 um 17:37
    • #1

    hi,

    ist es mit java irgendwie möglich, einen string als variablennamen auszuwerten?

    zb:

    String typeA = "test";
    String type = "typeA";
    S.o.p(type); // sollte dann test ausgeben

    so wie in php das $$

    lg
    d

  • Sandybutt
    Punkte
    554
    Beiträge
    99
    • 16. März 2009 um 18:24
    • #2

    Grundsätzlich nein, allerdings kannst du mittels Reflection auf die Member eines Objekts zugreifen. Lokale Variablen sind davon allerdings ausgenommen. Meistens lässt sich eine ähnliche Funktionalität herstellen, indem man eine Hashtable <String, Object> heranzieht und mittels put(String, Object) und get(String) Objekte ablegt bzw. wieder aufruft.

  • nodestroy
    Punkte
    349
    Beiträge
    65
    • 16. März 2009 um 18:28
    • #3
    Zitat von Sandybutt

    Grundsätzlich nein, allerdings kannst du mittels Reflection auf die Member eines Objekts zugreifen. Lokale Variablen sind davon allerdings ausgenommen. Meistens lässt sich eine ähnliche Funktionalität herstellen, indem man eine Hashtable <String, Object> heranzieht und mittels put(String, Object) und get(String) Objekte ablegt bzw. wieder aufruft.

    ok thx, habs jetzt mit einer map gelöst. dachte das geht auch einfacher.

  • Trux
    Punkte
    1.396
    Beiträge
    274
    • 16. März 2009 um 19:12
    • #4

    so in etwa kannst das machen:

    PHP
    import java.lang.reflect.Field;
    
    
    
    
    public class Test {
    
    
        public static void main(String[] args) throws Exception {
    
            A a = new A();
            a.fieldA = "a";
            a.fieldB = "b";
    
            String fieldName = "fieldA";
            Field f = a.getClass().getField(fieldName);
    
    
            Object value = f.get(a);
            System.out.println(value);
        }
    
    
    }
    
    
    class A {
    
        public String fieldA;
    
        public String fieldB;
    }
    Alles anzeigen
  • nodestroy
    Punkte
    349
    Beiträge
    65
    • 16. März 2009 um 21:38
    • #5

    perfekt, danke!

    eine frage hätt ich noch:

    hab eine JList, die mit einem Vector befüllt ist (Vector mit Objects; die Objectklasse hat eine passende toString() Methode, um sinnvolle Sachen anzuzeigen)

    wie kann man jetzt das ausgewählte object zurückbekommen (list ist singleselect)

    MyObject m = mySelectList.getSelectedObject(); <- gibt es natürlich nicht, funktioniert das überhaupt? (oder bekommt man immer nur das value zurück was dann auch tatsächlich in der JList steht)

    //edith sagt:
    MyObject selected = (MyObject)mySelectList.getSelectedValue();

    Einmal editiert, zuletzt von nodestroy (16. März 2009 um 22:05)

  • PWL
    Punkte
    240
    Beiträge
    31
    • 17. März 2009 um 01:14
    • #6

    normal mit list.getElementAt(i);

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum