0

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

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

返回空列表,因为(type java.util.Date)返回java.lang.Class. 我如何获得正确的课程?

4

1 回答 1

2

只需省略类型:

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

现在,如果您想从字符串中执行此操作,则只需执行

(filter #(.isAnnotationPresent % java.lang.Deprecated) 
         (.getMethods (Class/forName "java.util.Date"))

type 用于获取的类型,现在由于符号被解析为实际的类,因此符号的类型是 java.lang.Class

于 2013-09-07T19:20:34.693 回答