Class 使用clojure查找带注释的方法

Class 使用clojure查找带注释的方法,class,reflection,clojure,annotations,Class,Reflection,Clojure,Annotations,如何使用clojure查找java类中所有不推荐的(或任何其他注释)方法 (filter #(.isAnnotationPresent % java.lang.Deprecated) (.getMethods (type java.util.Date))) 返回空列表,因为(键入java.util.Date)返回java.lang.Class。如何获得正确的类?只需省去类型: (filter #(.isAnnotationPresent % java.lang.Deprecated)

如何使用clojure查找java类中所有不推荐的(或任何其他注释)方法

(filter #(.isAnnotationPresent % java.lang.Deprecated) (.getMethods (type java.util.Date)))

返回空列表,因为
(键入java.util.Date)
返回
java.lang.Class
。如何获得正确的类?

只需省去类型:

(filter #(.isAnnotationPresent % java.lang.Deprecated) 
         (.getMethods java.util.Date))
现在,如果你想从字符串开始,那么就这样做

(filter #(.isAnnotationPresent % java.lang.Deprecated) 
         (.getMethods (Class/forName "java.util.Date"))
type用于获取值的类型,现在由于符号解析为实际类,因此符号的类型为java.lang.Class