@Documented
Java注释的目的是什么?
我看了文档,但从中得不到很多。有人可以借助一个清晰的例子指出
@Documented
Java注释的目的是什么?
我看了文档,但从中得不到很多。有人可以借助一个清晰的例子指出
Answers:
@Documented
是一个元注释。您@Documented
在定义注释时应用,以确保使用注释的类在其生成的JavaDoc中显示此内容。我没有看到太多使用它,但是这里有一个例子。一个更早的问题表明它不能在Eclipse中自动运行,但是我已经在Eclipse 3.6中进行了测试,并且无论是否将@Documented
注释附加到JavaDoc弹出窗口中,我的注释都会出现。
这是Spring的一个示例,该示例确保在JavaDoc中将事务方法标记为这样:
@Target({ElementType.METHOD, ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
@Documented
public @interface Transactional {
如果我们的某些注释(例如@InWork
)为@Documented
,则对于每个具有该@InWork
注释的类,javadoc生成的文本都将包含@InWork
文本,作为对该注释的引用。
注解:
@Documented
@Inherited // for descenders of the annotation to have the @Documented feature automatically
@Retention(RetentionPolicy.RUNTIME) // must be there
public @interface InWork {
String value();
}
带注释的目标:
/**
* Annotated class.
*/
@InWork(value = "")
public class MainApp {...}
Javadoc文字:
因此,您必须决定是否在Javadoc文本中显示注释,如果是,则设置@Documented
为注释。
以上信息取自Oracle文档。
请注意,在Eclipse中,您会在javadoc生成的文本中看到所有注解,无论它们是@Documented
不是。
对于4.3版本仍然正确。