Wie kann ich ein statisches Klassenmitglied in Clojure dynamisch nachschlagen?

8

In Clojure kann ich ein statisches Element einer Java-Klasse (z. B. ein Feld, das eine Konstante enthält) wie folgt nachschlagen:

%Vor%

Wie kann ich auf das Mitglied zugreifen, wenn ich es nur zur Laufzeit kenne? Ein Beispiel wäre ein Looping über eine Sequenz von Feldnamen und das Abrufen aller Feldwerte.

Ich würde gerne so etwas machen (dieser Code funktioniert natürlich nicht):

%Vor%

Was ist der beste Weg, das zu tun?

    
Christian Berg 21.12.2009, 14:31
quelle

1 Antwort

13

Sie können die Reflektions-API von Java verwenden.

%Vor%

Die Null ist da, weil Sie ein statisches Feld erhalten, anstatt ein Mitgliedsfeld eines bestimmten Objekts.

    
djpowell 21.12.2009, 17:38
quelle

Tags und Links