我希望使用clojure检查java类中的私有字段,以便理解一个庞大的单片java应用程序。有没有图书馆可以做到这一点?
答案 0 :(得分:3)
如果您需要类型信息(而不是运行时状态),请使用clojure.reflect
将类反射表示为clojure数据结构。 E.g:
user=> (use 'clojure.pprint 'clojure.reflect)
nil
user=> (pprint (type-reflect String))
{:bases
#{java.io.Serializable java.lang.Comparable java.lang.Object
java.lang.CharSequence},
:flags #{:public :final},
:members
#{{:name equalsIgnoreCase,
:return-type boolean,
:declaring-class java.lang.String,
:parameter-types [java.lang.String],
:exception-types [],
:flags #{:public}}
...
答案 1 :(得分:2)
可以使用clj-wallhack
访问私有字段和方法