Java里NonNull和NotNull

2023-10-26

https://blog.csdn.net/yangyangrenren/article/details/121180269

lombok.NonNull

这个 annotation 是 lombok 提供的,根据官方的解释可以看出它是用来辅助生成代码的。如果使用在 parameter 前,lombok 将生成一段代码来检测 parameter 是否为 null,如果是则 throw 一个 NullPointerException。 如果使用在 field 前,lombok 会在这个 field 相应的生成代码中加入 null 检测。

public static void test(@NonNull String args){
    System.out.println(args);
}

build的代码,反编译后查看是

public static void test(@NonNull String args) {
    if (args == null) {
        throw new NullPointerException("args is marked non-null but is null");
    } else {
        System.out.println(args);
    }
}

javax.validation.constraints.NotNull

如果项目使用了 Bean 的 validation 框架,那么在定义一些 field 的时候可能会用到 @NotNull。这个是用来帮助检测用户输入的,强制某些用户输入值不可以为 null。作用和 @Max 和 @Min 类似。
配置统一异常处理可以提供更完善的错误提示信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java里NonNull和NotNull 的相关文章

随机推荐

  • dedecms普通文章栏目改成自定义内容模型办法

    在织梦后台 程序 SQl命令工具 INSERT INTO addon18 aid typeid redirecturl userip body SELECT aid typeid redirecturl userip body FROM a
  • pandas 小技巧——读取无表头的csv/xlsx文件&加上指定表头

    在读取csv xlsx文件的时候 有的文件可能没有表头 或者想更换表头 可以用pandas实现 1 excel文件格式示例 无表头 import pandas as pd df pd read excel D dataset raw dat
  • 4个实用的自媒体平台,帮助大家进行热点追踪,打造爆款作品

    大家都知道 作为一个自媒体人 时常需要追热点 根据热点进行创作 那么 热点到底应该怎么找呢 今天给大家介绍4个很实用的热点类自媒体平台 帮助大家进行热点追踪 打造爆款作品 01 腾讯新闻 这个平台就不需要过多介绍了 各种各样的热点都能在这里
  • pycharm安装pandas失败了

    因为期末作业涉及到朴素贝叶斯 聚类等数据分析 就安装了numpy sklearn之类的库 但是我的setting一直用不了 会像上图一样报错 改变pip文件夹的位置也不行 昨天晚上就想一定要解决这个问题 在网站上找了多种方法都不行 升级pi
  • python+selenium抓取网页新闻列表元素,保存到excel文档中

    python selenium 抓取网页新闻列表元素 并记录标题和链接地址 保存到excel文档中 usr local bin python3 python3 9 coding UTF 8 File xwzx1 py Time 2021 0
  • 【QT学习】如何将一个QT的pro工程(qmake编译)移植变成一个cmake编译的工程

    1 背景 之前使用qt自带的编译方式 qmake的方式 编写运行qt程序 但是最近要跟ros框架的其他程序进行通讯要使用ros topic订阅发布 必须用msg 有些msg不能简单的使用std标准消息需要自己定义 但是qmake的方式不支持
  • Python 元组(Tuple)操作详解

    一 创建元组 代码如下 tup1 physics chemistry 1997 2000 tup2 1 2 3 4 5 tup3 a b c d 创建空元组 代码如下 tup1 元组中只包含一个元素时 需要在元素后面添加逗号来消除歧义 代码
  • 启动vmware虚拟机报错

    找到此系统的安装目录中后缀为 lck的文件或目录 将其删除或更改后缀就可以启动了
  • 第七周7.1数组运算课堂学习记录 求素数的方法改进/优化集锦《程序设计入门——C语言》第七期 浙江大学 翁恺

    求素数基本方法及优化 1 基本方法求素数 从2到x 1测试是否可以整除 对于n来说要走n 1遍 n很大时相当于 n 遍 include
  • GGally与pairs相关关系图_史上最全(一)

    作者 李誉辉 四川大学在读研究生 简介对于多个变量之间的相关关系 常常使用相关关系图来可视化 R自带有pairs 函数 可以画相关关系图 但是比较复杂 我们先介绍基于ggplot2的GGally包 等介绍完 再介绍pairs 函数 1 gg
  • 对部门的建议和期待怎么写_个人、项目、部门工作总结怎么写?给你三个模板...

    点击 免费订阅 商务合作QQ 493509007 工作中我们每周 每月 每年都要做总结 那么怎样才能做好总结呢 给大家三个模板 分别为个人工作 年 月 总结 项目 周 月 年 总结 部门 月 年 总结 一 个人 年 月 总结 1 计划的完成
  • 欢迎加入Java私活外包QQ群

    hi 最近有个两个Java项目需要找兼职程序员合作 要求至少会下面一项技术 1 JSP Servlet JDBC Tomcat 2 MongoDB 3 MySQL 4 Docker 5 Redis 6 Vertx 7 测试技术 压力测试 安
  • Protobuf C++ 版入门Demo

    Protobuf C 版入门Demo 前言 有关其编译和安装请查看 Protobuf C 版编译安装和简单使用 之前已经进行了编译安装 并且成功将已知的proto文件转化为cc和h 本文简单探讨如何使用Protobuf进行数据写入和读取 也
  • 使用three.js在Vue中创建3D图

    使用three js创建3D图 1 电梯 注意 只为自己做笔记用的 全部是收藏的博客地址当电梯用 1 电梯 1 展示 https wow techbrood com fiddle 34388 闪光球 https blog csdn net
  • 字典树(介绍+实现+例题)

    字典树 介绍 字典树也叫前缀树 Trie树等 字典树是一颗非典型的多叉树模型 字典树的结点包含有一个长度为26的指针数组 分别对应26个字母 指向当前字母对应的下一个字母 字典树充分利用了字符串的公共前缀 包含三个单词 sea sells
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 多线程如何在 C 中实现?

    多线程 英语 multithreading 是指从软件或者硬件上实现多个线程并发执行的技术 具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个线程 进而提升整体处理性能 具有这种能力的系统包括对称多处理机 多核心处理器以及芯片级
  • java内存马查杀工具

    java memshell scanner 扫描java内存马
  • 模版之AnyType

    title 模版之AnyType date 2023 02 19 21 49 53 permalink pages 54a0bf categories 通用领域 编程语言 C tags C 元编程 author name zhengzhib
  • Java里NonNull和NotNull

    https blog csdn net yangyangrenren article details 121180269 lombok NonNull 这个 annotation 是 lombok 提供的 根据官方的解释可以看出它是用来辅助