gpt4 book ai didi

java - 不能同时使用@NonNull 和@NonNull 进行注释

转载 作者:行者123 更新时间:2023-11-30 09:00:56 25 4
gpt4 key购买 nike

我正在使用 IntelliJ 13.1.5 和 Java 8 SDK,我已经设置了 IntelliJ 内置的空性检查器以使用 checkers.nullness.quals.NonNull 作为我选择的注释。

现在,当我编写这样一个简单的类时

import checkers.nullness.quals.NonNull;

public class Myclass {
public void doSomething(@NonNull String someString) {
}
}

IntelliJ 为 @NonNull 注释加上警告下划线

Cannot annotate with both @NonNull and @NonNull

首先我认为它与实现接口(interface)的类有关,这些接口(interface)也有用 @NonNull 注释的方法。

但我也遇到了像上面例子那样的具体类。

我的下一个猜测是多个库使用相同的注释名称,并且可能存在名称冲突。但不幸的是,警告没有指定包的确切类名。如果是这种情况,则必须有一些启用隐式注释的设置。

如何在不删除注释的情况下摆脱此警告?

最佳答案

我刚刚收到一个问题的回复,帮助我解决了问题。我仍然不确定这是我的错还是错误,但这是解决方案:

IntelliJ 在项目设置中(至少)有两个位置,您可以在其中配置 nullness 注释,它们是:

  1. 设置 |检查 |不变的条件和异常(exception) |配置注释
  2. 设置 |检查 | @NotNull/@Nullable 问题 |配置注释

当我设置注释时,使用 1.) 添加它们,不知道有 2.)。问题是因为在 2.) 中,在 NullableNonNull 部分都选择了注释 checkers.nullness.quals.NonNull显然是错误的。在 1.) 中,一切都很好。

为了解决这个问题,我从 2.) 的 Nullable 部分删除了 checkers.nullness.quals.NonNull,并添加并选择了 checkers.nullness。 quals.Nullable.

关于java - 不能同时使用@NonNull 和@NonNull 进行注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26587291/

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