java - @NotNull 是否在运行时工作

标签 java intellij-idea annotations nullable notnull

我最近决定开始使用空校验和注释 (@NotNull),我使用 Intellij Idea's annotations library访问这些。我试图弄清楚这些注释是否会在运行时工作以检查值是否为空,如果是,它如何处理这些错误(例如,它是否抛出 NullPointerException,它是否只返回一个默认值(例如 null、0、false))。此外,如果这些注释不起作用,是否有不同的集合可能是更标准化的注释,将在运行时起作用(例如 javax)?如果这些不起作用,我应该停止使用它们并返回标准空校验和 (if(x == null)) 还是应该同时使用注释和标准空校验和?当我在这里时,@Nullable 之类的注释是个好主意吗?

最佳答案

是的,它在运行时检查并在 null 时抛出 IllegalArgumentException

您可以在设置中禁用/启用此功能 Preferences |构建、执行、部署 |编译器Add runtime assertions for notnull-annotated methods and parameters checkbox, second from the top

关于java - @NotNull 是否在运行时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40166611/

相关文章:

java - 如何在android eclipse中将按钮更改为菜单

java - 如果构造函数参数之一是 List 类型,是否可以使用 null 参数测试私有(private)构造函数?

java - 根据jtextfield的变化模拟按钮点击

java - 在 idea intellij 中更改编码不起作用

java - 在 Intellij Idea 中调试 Maven 应用程序

java - 库类中的枚举占位符

java - 如何使用 Java 中的 iText 5 创建多个单元格并将每个字符设置到每个单元格中

java - ical4j.properties 文件 IntelliJ

java - 如何向类中添加方法,其中方法名称基于 AspectJ 中现有的带注释的方法?

security - Symfony2.3 自定义投票者通过@SecureParam