@NonNull系列注解,优雅解决令人发指的判空

前言

写代码判空经常让人头疼,通常能写到手疼,代码中经常充斥着各种判空,影响代码美观。因此java 提出了 jsr-305 提供了前面问题的解决方案。业界有很多实现。下面介绍两个经常用到的实现及其示例。

Spring core

位于org.springframework.lang 包下,SpingBoot 项目中可直接使用。

  • @NonNull 指示目标对象不能为 null,用于注解方法,参数以及变量;
  • @NonNullApi 指定参数和方法返回值默认不能为 null,用于包(Package)级别注解;
  • @NonNullFields 指示变量不能为 null,用于包(Package)级别注解;
  • @Nullable 指定目标对象可以为 null,可用于注解方法,参数以及变量 。若是与 @NonNullApi@NonNullFields 共用,会被覆盖;

Lombok

Lombok 的实现与 Spring core 异曲同工,此处不再详细介绍,常用的是 @NonNull ,详情参考其官网 @NonNull

  • Lombok特性

你可能感兴趣的:(总结,笔记,java技术,java,spring)