首页 > 解决方案 > 如何添加选项以在 Javadoc 注释中显示 @tags

问题描述

我有两个自己的注释,用于@Deprecated注释旁边的不同字段和方法。但是,与@Deprecated注释不同,注释可以在 Javadoc 注释本身中显示并带有描述,我不能用我自己的注释来做到这一点。

小例子:

/**
 * Sends "bar".
 *
 * @deprecated Use {@link #sendFooBar()} instead.
 */
@Deprecated
@MyAnnotation // I want to add a description to this annotation in the comment above
public void sendBar(){
    System.out.prntln("bar");
}

所以我的问题是我必须做什么,以便在评论本身中显示注释并提供评论。

我不能只将它添加到评论中,因为它会被视为“错误标签”。

澄清一下:我不想在评论中显示@符号。我知道该怎么做。
我想在 Javadoc 注释中包含与@Deprecated注释可用的文档(描述)类似的文档(描述)。

注释本身具有@Documented,@Retention(RetentionPolicy.RUNTIME)@Target({ElementType.METHOD, ElementType.FIELD})附加到它们的注释。

标签: javajavadoc

解决方案


不可能按照你想的那样在javadoc中使用自定义注解。如果您按照规范编写注释,这将变得更加明显。javadoc@deprecated 标记是小写的,而Java 语言的@Deprecated 注解是大写的。

这是因为 javadoc@deprecated标记评论了底层方法和/或构造函数的弃用,而不是表示 Java@Deprecated注释本身。因此,您无法按照默认方式使用 javadoc 中的注释。

但是,可以将自定义标签引入 javadoc。此处解释了如何执行此操作。您也可以考虑在 javadoc 注释中提及您的注释可能在其他地方产生的影响。要安全地转义注释的名称,只需使用{@code ...}构造。


推荐阅读