javadoc -Xdoclint 不断标记我的(可选)匿名类,因为它显然没有注释

2024-01-08

我正在使用 javadoc 来记录我的公共枚举。我正在使用以下命令编译以下所有示例:

javac   -Xdoclint:all     LetsLearnJavadocXdoclint.java

如果我的枚举是这样的,它会生成一个 .class 文件,而不会发出任何警告。

/** Comment LetsLearnJavadocXdoclint. */
public enum LetsLearnJavadocXdoclint
{
   /** Comment A. */A;
}

但如果我的枚举是这样的:

/** Comment LetsLearnJavadocXdoclint. */
public enum LetsLearnJavadocXdoclint
{
   /** Comment A. */A{};
}

......我收到以下错误......

LetsLearnJavadocXdoclint.java:4: warning: no comment
   /** Comment A. */A{};
                    ^
1 warning

考虑到我需要将评论放在其他地方,我决定将评论放在每个可能的位置......

/** Comment LetsLearnJavadocXdoclint. */
public enum LetsLearnJavadocXdoclint
{
   /** Comment A. */A/** Comment A. */{/** Comment A. */}/** Comment A. */;
}

……没有用……

LetsLearnJavadocXdoclint.java:4: warning: no comment
   /** Comment A. */A/** Comment A. */{/** Comment A. */}/** Comment A. */;
                    ^
1 warning

为了绝对、肯定地确定,我走的是逻辑的极端。

/** At this. */
public
/** point, I. */
enum
/** am beginning. */
LetsLearnJavadocXdoclint
/** to think. */
{
/** that I. */
   A
   /** am not. */
   {
   /** the one. */
   }
/** who is. */
   ,
/** at fault. */
   ;
/** here. */
}
/** Next question. How do I report a bug to Java? */

......并且仍然得到......

$ javac -Xdoclint:all LetsLearnJavadocXdoclint.java
LetsLearnJavadocXdoclint.java:10: warning: no comment
   A
   ^
1 warning

我错过了什么吗?

为了更好地解释我的意图,我的实际目标是让这个枚举使用单个方法实现一个接口,然后让我的枚举中的每个枚举值提供自己独特的方法实现。我一直在尝试使用 javadoc 记录它,但无济于事。这就是我想出这个最小例子的方式。

如果我不得不猜测,它可能与匿名类有关。我认为我包含的那些花括号正在创建某种形式的匿名类,并且它试图注释匿名类和枚举值。我之所以这样猜测是因为下面的例子。

如果我尝试这样做......

/** Comment LetsLearnJavadocXdoclint. */
public enum LetsLearnJavadocXdoclint
{
   A{};
}

......我明白了......

LetsLearnJavadocXdoclint.java:4: warning: no comment
   A{};
   ^
LetsLearnJavadocXdoclint.java:4: warning: no comment
   A{};
   ^
2 warnings

2 条警告

......这立即让我想到匿名类。

显然,我不确定,但为什么会这样2 WARNINGS除非是因为有枚举类,以及它期望来自的匿名类?

最后,这是我的信息。

$ javac -version
javac 1.8.0_281

$ java -version
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.281-b09, mixed mode)

枚举常量的可选类体隐式定义了一个匿名类声明(请参阅Java语言规范 https://docs.oracle.com/javase/specs/jls/se11/html/jls-8.html#jls-8.9.1)。 Javadoc 工具不直接记录匿名类——也就是说,它们的声明和文档注释将被忽略。以下匿名类示例会产生相同的两个警告:

public class MyClass {

  private Runnable cleanUpOperation = new Runnable() {

    @Override
    public void run() {

    }
  };

}

对缺少评论的一个警告cleanUpOperation字段和一个用于匿名子类的缺失注释的字段Runnable。 无法向匿名类添加注释。 Oracle 建议在其外部类或任何其他密切相关的类的文档注释中记录匿名类(有关详细信息,请参见here https://www.oracle.com/technical-resources/articles/java/javadoc-tool.html#anonymous)。因此,在您的情况下,这将是您的枚举类或枚举常量的文档注释。

-Xdoclint:all显示公共成员、受保护成员、包成员和私有成员缺少 javadoc 注释的警告。这还包括匿名类。

要消除警告,您可以告诉 doclint 忽略私人成员的缺失评论-Xdoclint:all,-missing/private。执行javac -X获取有关如何根据您的目的配置 doclint 的帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javadoc -Xdoclint 不断标记我的(可选)匿名类,因为它显然没有注释 的相关文章

  • Android NumberPicker 带字符串

    I have customised the NumberPicker to show text The output is this 当我按 确定 时 我想将 e x 鼠标添加到我的列表 文章 中 我得到的是索引值 int 它由 array
  • JPanel透明背景和显示元素[重复]

    这个问题在这里已经有答案了 我插入一个背景图e 变成 aJPanel但一些界面元素消失了 以下 Java Swing 元素不会出现 标签标题 标签 usuario 标签 密码 按钮加速器 你能否使图像透明或元素不透明 setOpaque f
  • .java 和 .scala 类之间是否可能存在循环依赖?

    假设我在 java 文件中定义了类 A 在 scala 文件中定义了类 B A 类使用 B 类 B 类使用 A 类 如果我使用 java 编译器 则会出现编译错误 因为 B 类尚未编译 如果我使用scala编译器A类将找不到 有没有可以同时
  • Spring webflow 应用程序:HTTP 302 暂时移动

    我的 java 应用程序中的每个请求都会生成另外 2 个带有 HTTP 302 错误的请求 例如 如果请求查看名为板 html 这个请求是从首页 html 我收到按以下顺序生成的 3 个请求 POST home html 302 Moved
  • Java/JAXB:将具有相同名称但不同属性值的 XML 元素解组到不同的类成员

    我正在尝试根据其属性之一将具有多个 Fields 元素的 XML 解析为不同的类成员 这是 XML
  • JUnit Eclipse 显示 System.out.print() 的

    我正在使用 JUnit 3 和 Eclipse 3 4 当我运行 JUnit 测试用例时 一切正常并且测试完美完成 唯一的事情是我想查看我正在运行的类的输出 所有类都具有一些输出值的基本 System out print 因此 当我运行测试
  • 方法不必要地被调用?

    我有一个 BaseActivity 它可以通过其他所有活动进行扩展 问题是 每当用户离开 暂停 活动时 我都会将音乐静音 我也不再接听电话 问题是 onPause每当用户在活动之间切换时就会被调用 这意味着应用程序不必要地静音和停止tele
  • firestore快照监听器生命周期和定价之间有什么关系?

    在我的活动中 我有一个字符串列表 这些字符串表示我想要附加快照侦听器的 Firestore 文档 我使用 Acivity ModelView 存储库结构 在活动的 onCreate 中 我向 ViewModelProvider 询问适当的
  • 如何模拟一个方面

    我目前正在使用aspectj 开发一些监控工具 因为这个工具应该是技术独立的 尽可能 所以我没有使用 Spring 进行注入 但我希望我的方面能够经过单元测试 方面示例 Aspect public class ClassLoadAspect
  • 源服务器未找到目标资源的当前表示或不愿意透露该表示存在

    web xml
  • C++ 中可以使用匿名类作为返回类型吗?

    有没有办法在 C 中使用匿名类作为返回类型 我用谷歌搜索这可能有效 struct Test fun 但是这段代码无法编译 错误信息是 新类型不能在返回类型中定义 其实代码没有任何意义 我只是想弄清楚匿名类是否可以用作C 中的返回类型 这是我
  • .class 与 .java

    class 文件和 java 文件有什么区别 我正在尝试让我的小程序工作 但目前我只能在 Eclipse 中运行它 还不能嵌入 HTML 谢谢 编辑 那么如何使用 JVM 进行编译呢 class 文件是编译后的 java 文件 java 都
  • 使用外部硬盘写入和存储 mysql 数据库

    我已经设置了 mysql 数据库在我的 Mac 上使用 java 和 eclipse 运行 它运行得很好 但现在我将生成大约 43 亿行数据 这将占用大约 64GB 的数据 我存储了大量的密钥和加密值 我有一个 1TB 外部我想用作存储位置
  • 通用 JSF 实体转换器[重复]

    这个问题在这里已经有答案了 我正在编写我的第一个 Java EE 6 Web 应用程序作为学习练习 我没有使用框架 只是使用 JPA 2 0 EJB 3 1 和 JSF 2 0 我有一个自定义转换器 用于将存储在 SelectOne 组件中
  • RMI 服务器:rmiregistry 或 LocateRegistry.createRegistry

    对于服务器端的RMI 我们需要启动吗rmiregistry程序 或者只是调用LocateRegistry createRegistry 如果两者都可以的话 各有什么优点和缺点 他们是同一件事 rmiregistry是一个单独的程序 您可以从
  • java中的比较器链

    正在阅读Oracle 关于接口的 Java 教程 https docs oracle com javase tutorial java IandI createinterface html其中给出了一个例子Card 打牌 我试图理解接口中的
  • 使用 Maven 3 时 Cobertura 代码覆盖率为 0%

    读完这篇文章后 将 Cobertura 与 Maven 3 0 2 一起使用的正确方法是什么 https stackoverflow com questions 6931360 what is the proper way to use c
  • Java的hashCode可以为不同的字符串产生相同的值吗?

    使用java的哈希码函数是否可以为不同的字符串提供相同的哈希码 或者如果可能的话 其可能性的 是多少 Java 哈希码是 32 位 它散列的可能字符串的数量是无限的 所以是的 会发生冲突 百分比是没有意义的 项目 字符串 的数量是无限的 而
  • Java泛型类型

    当我有一个界面时 public interface Foo
  • 使用 Android 的 Mobile Vision API 扫描二维码

    我跟着这个tutorial http code tutsplus com tutorials reading qr codes using the mobile vision api cms 24680关于如何构建可以扫描二维码的 Andr

随机推荐

  • 使用Qt播放特定的系统声音

    我希望我的应用程序发出标准的通知声音 即 Windows 上称为 默认蜂鸣声 的声音 我没有看到使用 QSound 引用系统声音的方法 没有分配声音的 QSound 实例用于播放此声音 但它在 Qt 5 中已修复 有什么方法可以做到吗 如果
  • 使用 Wopi 和 Office Online Server 在 Word 中编辑

    我正在开发一个项目 我们用Word 实现了内容管理 我们有一些正在使用 OpenXML 处理的 Word 文件 用户可以通过两种方式打开这些文件 下载副本或在线编辑 在线编辑是使用 Office Online Server 和自定义 Wop
  • 是否可以捕获window.location.replace事件?

    如果我当前位于该 URL example com somepage somehash 我调用window location hash anotherhash 网址更改为 example com somepage anotherhash 这会
  • Haskell 中具有运算符优先级和关联性的漂亮打印语法树

    是否有任何常用的方法 甚至是一个库 可以用 二元 运算符漂亮地打印 和解析 语法树 这些运算符具有关联性和优先级 以便结果使用尽可能少的括号 以命题演算的公式为例 data Formula Atom String Not Formula A
  • 如何使用 Tomcat 在其 URL 中隐藏应用程序上下文?

    我有许多应用程序在 Tomcat 中运行 每个人都有自己的背景 我使用 Apache HTTP Server 将它们全部连接到不同的域名 并且mod jk 请参阅此问题的更多详细信息 如何使用 mod jk 挂载上下文引用的 Tomcat
  • Typescript:获取未定义的值

    我好像有一个问题无法解决 我希望 dialogTitle 变量也与标题变量一起显示 startHour 和 startMinute 变量 然而 我似乎在标题后得到了标题和 未定义 两次 我应该怎么办 事件表单 component ts im
  • 在 MVC 5 的操作过滤器中调用异步方法

    我正在编写一个动作过滤器 继承自ActionFilterAttribute 它使用HttpClient将数据 POST 到外部服务器OnResultExecuted方法 HttpClient有方法PostAsync返回一个可等待的Task
  • Xamarin Forms CollectionView:无法为 SelectedItem 提供透明背景

    我正在使用 CollectionView 当用户选择一个项目时 我根本不希望 SelectedItem 显示背景颜色 我尝试按照 Xamarin 文档中的说明 通过使用 VisualStateManager 将 BackgroundColo
  • 如何用react-native绘制梯形/梯形?

    这是 id 处的 css 代码 效果很好 border bottom 100px solid 0000ff80 border right 50px solid transparent height 0 width 100px div div
  • Python - 属性错误“_io.TextIOWrapper”对象没有属性“open”

    我收到错误 File open classname txt a AttributeError io TextIOWrapper object has no attribute open 尝试打开文件时 我需要打开文件并将分数写入文件 这是代
  • R 中的数据操作:“X”必须是原子的

    我使用以下命令导入了一个在多列中包含标题和数字的文件 irs data lt read csv file 10incyallnoagi csv 我想将 1 列中的值除以另一列中的值 然后确定最高的 3 个值 salary var lt c
  • Google Orgchart 创造婚姻

    嗨 我正在使用Google Orgchart https developers google com chart interactive docs gallery orgchart hl da Example创建一个家谱 我将三个家庭组合在
  • 如何使用 PHP api 从 Dropbox 删除文件

    首先 我可以使用 PHP api 正确地从 Dropbox 上传和下载文件 这是我上传文件的方式 Upload files file fopen default png rb size filesize default png client
  • Rails - 使用布局对所有电子邮件使用相同的附件

    我可能遗漏了一些明显的东西 但我有一个徽标 我想将其包含在从我的应用程序发送的所有电子邮件中 我有一个用于所有这些邮件的主布局 我认为有一种方法可以使其保持干燥 而不必在每个邮件程序方法中添加代码行来附加文件 有人可以指出我正确的方向或纠正
  • 为什么在删除所有侦听器后我的 Node.js 进程没有终止?

    在下面的代码中 我为data的事件process stdin与once method console log Press Enter to allow process to terminate process stdin once data
  • 找不到 C/C++ IntelliJ IDEA 插件

    我正在尝试添加一个到IntelliJ IDEA 所以我去插件并搜索它但找不到它 他们是否删除了它并用新的 IDE cLion 替换了它 是不再支持还是什么 看起来您的 IntelliJ IDEA 版本比 C C 插件支持的版本新 如果你看一
  • 在每句之前打印项目符号 + 每句之后换行 SQL

    我有这样的文字 第一句 第二句 第三句 我希望它是 句子一 第二句 第三句 我想我可以替换 with char 10 char 13 但是我该如何处理子弹呢 如果手动打印 字符效果很好 我只是不知道如何为每个句子添加项目符号 包括第一个句子
  • Wicket 与 GWT - 需要建议

    我正在开发一个基于 Java EE 的 Web 应用程序 我们的时间非常有限 无法提出 alpha 版本并尝试决定要使用的 Web 框架 它必须是易于学习但功能强大的东西 由于开发需要时间 标准 JSP Servlet 在这里不是一个选择
  • 相当于 RecyclerView 中的 ListView.setEmptyView

    In RecyclerView 我想设置一个空视图 当适配器为空时显示 是否有相当于ListView setEmptyView http developer android com reference android widget Adap
  • javadoc -Xdoclint 不断标记我的(可选)匿名类,因为它显然没有注释

    我正在使用 javadoc 来记录我的公共枚举 我正在使用以下命令编译以下所有示例 javac Xdoclint all LetsLearnJavadocXdoclint java 如果我的枚举是这样的 它会生成一个 class 文件 而不