java注解

gwo2fgha  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(379)

我一直在使用androidstudio(基于intellijidea),并且可以使用@nonnull之类的注解。
除了android工作室,我还安装了intellij idea。我发现像@nonnull这样的注解不起作用。当我构建项目时,收到错误消息:

java: cannot find symbol
  symbol:   class NonNull
  location: class Main

您能告诉我如何在intellj idea中启用标准注解吗?
[编辑1]:
在intellij idea中:设置->构建、执行、部署->编译器->配置注解->org.jetbrains.annotations.notnull已经选中。
[编辑2]:
在eclipse中:使用@nonnull注解没有问题。一开始我在eclipse中遇到了同样的未解析注解符号的问题,然而,eclipse上弹出的快速修复提示(当我将光标指向未解析符号时)帮助我修复了这个问题。
通过单击快速修复:
eclipse在引用库下添加了“org.eclipse.jdt.annotation\u 2\u 2.600.v2020408-1511.jar”。
此外,eclipse还添加了“需要org.eclipse.jdt.annotation;”在module-info.java中。
在撰写本文时,我还没有能够让@nonnull在intellij中工作。

3htmauhk

3htmauhk1#

我解决了这个问题。我的问题是在intellij idea中使用常规java注解。这是解决办法。
项目结构->库->加号按钮->来自maven->组织。jetbrains:annotations:16.0.2->确定
在java代码中,使用@notnull(而不是@nonnull)
在java代码中,导入org.jetbrains.annotations.notnull;
另外,有人问我用的是哪个jdk版本。我一直在使用JDK14.0.2测试一些最新的java特性。
下面是我的代码示例:

Function<String, Boolean> checkFavoriteDrink = (@NotNull var drink) -> {
    return switch (drink) {
        case "mocha", "cappuccino", "iced tea" -> true;
        default -> false;
    };
};

相关问题