在Clojure中,我可以这样查找Java类的静态成员(例如保存常量的字段): ClassName/CONSTANT_FIELD 我如何在运行时只知道成员名称时访问该成员?一个例子是循环遍历字段名序列并获取所有字段值。我想做这样的事情(当然,这段代码不起作用):(let [c "CONSTANT_FIELD"] ClassName/c) 什么是最好的方法来做到这一点?
你可以使用Java的反射API。(let [c "CONSTANT_FIELD"] (.get (.getField ClassName c) nil)) nil是因为你获取的是静态字段,而不是特定对象的成员字段。