gpt4 book ai didi

java - 如何在包上使用 NonNullByDefault

转载 作者:太空狗 更新时间:2023-10-29 22:54:21 25 4
gpt4 key购买 nike

我的编译器警告我 没有为包指定默认的 nullness 注释。我在 Java 7 中使用 Juno。

您应该添加 @NonNullByDefault 作为包选项的文档统计信息,但我不知道那是什么意思。

我能以某种方式为整个包设置 NonNullByDefault 吗?在 Eclipse 中,我不能右键单击一个包并说 add option 或类似的东西。

或者我只是将 @NonNullByDefault 添加到包中的任何类,然后它对该包中的所有 bean 都有效?或者我是否必须在 pakage 中创建一些元信息文件来添加包选项?我一定是瞎了,因为我在网上找不到任何帮助....

一个小例子会很棒。

最佳答案

总结:
让上述建议起作用对我来说并不直观。我刚刚想出的实际解决方案也不是。在 package-info.java 文件中:
一个。 将注释放在包声明之上
b. 在包声明之后导入 NonNullByDefault 注解


详情:
我不知道我是否是唯一一个阅读上述答案但不知道如何让它工作的人。所以,为了更加清楚,这是我为使它最终在 Eclipse-Juno 中工作而采取的(非显而易见的或直观的)步骤:

  1. 在 Package Explorer 中,转到显示警告(或错误)消息的根 Java 包,该消息以“没有为包指定默认的 nullness 注释...”开始 - 对于此示例,请假设包名为“org.public_domain”
  2. 在 Java 包上,激活右键单击菜单并选择“新建 -> 包”选项 - 是的,我知道你的包已经存在,认为它是 eclipse 的特质 - 它不是打算对您现有的包裹做任何事情
  3. 当出现“New Java Package”对话框时,选中“Create package-info.java”复选框并单击“Finish”
  4. 您的 Java 编辑器现在将显示一个名为“package-info.java”的新文件,其中显示以下内容:

    /**
    *
    */
    /**
    * @author xyz
    *
    */
    package org.public_domain;
  5. 现在,重新排列文件内容,如下所示:

    /**
    *
    */
    /**
    * @author xyz
    *
    */
    @NonNullByDefault
    package org.public_domain;
    import org.eclipse.jdt.annotation.NonNullByDefault;

    ...或者像这样...

    /**
    *
    */
    /**
    * @author xyz
    *
    */
    @org.eclipse.jdt.annotation.NonNullByDefault
    package org.public_domain;
  6. 享受 eclipse @NonNullByDefault 的美妙之处

我的挑战是弄清楚我要将注释放在包声明之上。并在包声明之后放置 NonNullByDefault 注释导入。对我来说,这并不直观。

希望这可以节省其他人的时间,我已经结束了追逐这条特定路径的时间。

关于java - 如何在包上使用 NonNullByDefault,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10623805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com