给定一个class,找出它是否被任何注解标注过,yes or no

Given a class, find out if it has been annotated with any annotation, yes or no

我的导师给了我这个任务来编写一个布尔方法来检查 class 是否已经被注释了。不想打扰你们更多的细节,但它实际上是一个包,所以起初我使用 Google 反射库从我的项目中收集所有 classes。不幸的是,这个库和其他库都没有回答我的问题,它们都要求我提供注释 class,我还没有用我正在努力的方法找到它。

编辑:这是一个 Spring 项目

a Boolean method

我对此表示怀疑。我认为他们希望您编写 boolean 方法。 Boolean 是包装类型。这是你不想要的三态东西(它可以是nulltrue,或false。yich)。

so at first I used the Google reflections library to collect all classes from my project.

这似乎与问题完全无关。

您只需要:

Class<?> toCheck = ...;
return toCheck.getAnnotations().length > 0;

注意注解需要说明在运行时是否可见。如果不是,那将行不通,但关键是,什么都行不通(没有源保留级别的注释的 'point' 是您无法在运行时判断它是否毕竟在那里)。