位置: IT常识 - 正文

@Nullable 注解的详细用法(nullable object must have a value)

编辑:rootadmin
@Nullable 注解的详细用法 背景

推荐整理分享@Nullable 注解的详细用法(nullable object must have a value),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:@injectable注解,null.isempty,not null注解,nullable object,null.isempty,not null注解,@autowired注解注入为null,@autowired注解注入为null,内容如对您有帮助,希望把文章链接给更多的朋友!

最近发现之前写的代码生成器(entity、dao、service、controller、vue) 有点bug,在Service层判断空的时候,少了一部分条件。所以补充上了,随后又同事问我在代码中发下了@Nullable注解不知道怎么用?脑子是个好东西,可以审核没带啊!哪有广告?

起初,以为这么简单的一个常用注解还不了解吗?

用法

@Nullable可以用在方法、属性、参数上。对应的意思分别如下:

方法:表示返回值可以是空

属性:表示属性值可以是空

参数:表示参数值可以是空

用在方法上@Nullable 注解的详细用法(nullable object must have a value)

方法的返回值可以是为空,具体的用法如下方代码所示:

@Nullablepublic ApiResult upload(@NotNull(message = "上传参数不能为空") @RequestParam("file") MultipartFile[] file) throws BaseException { ApiResult apiResult = new ApiResult(); SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd"); String format = simpleDateFormat.format(new Date()); String realPath = filePath + File.separator + format; String returnPath = format; File targetFile = new File(realPath); if (!targetFile.exists()){ targetFile.mkdirs(); }}

将注解用在方法商法,就可以表示这个方法的返回值可以是空。就是这么简单。

用在参数上

参数可以是为空,具体的用法如下方代码所示:

private void checkUser(String fansid, String openid, @Nullable String op) throws BaseException{ Consumer consumer = consumerService.selectByPrimaryKey(fansid); if (consumer == null) { throw new ParamException("用户不存在"); } Consumer consumer1 = consumerService.selectByPrimaryKey(openid); if(consumer1 == null){ throw new ParamException("被关注者信息异常"); }}

用在参数上的方法也很简单,就是在参数前方加一个@Nullable注解,这样标识为这个参数可以为空。

用在属性上

属性可以为空,具体参考代码如下:

@Validated@RestController@RequestMapping("miniapi/follow")public class FollowController extends BaseController { @Nullable private String isTime; @Autowired private FollowService followService; @Autowired private ConsumerService consumerService; private Logger logger = LoggerFactory.getLogger(this.getClass()); }

从上方我们解决的部分代码可以看出,这部分代码中在属性isTime上方标记了@Nullable注解,标识这个isTime属性可以为空。

以上,就是我们自己在使用的中的真实案例,那在我们平常引用第三方包结构中有没有引用案例呢?

Spring工具包源码中的使用案例

org.springframework.util.StringUtils中的判断空方法中用到了此方法。

就是我们所属的用在参数上面的示例:

public static boolean isEmpty(@Nullable Object str) { return (str == null || "".equals(str));}

好了,今天关于@Nullable的使用情况闲聊到这,欢迎朋友们留言交流。

也希望大家关注我的《coder练习生》

本文链接地址:https://www.jiuchutong.com/zhishi/287073.html 转载请保留说明!

上一篇:Ichetucknee河的海牛,佛罗里达州 (© Jennifer Adler/Alamy)

下一篇:微信小程序 button按钮怎么触发事件? bindtap语法怎么使用?(微信小程序不方便)

  • win10怎么关闭自动更新(win10怎么关闭自动获取的ip地址)

    win10怎么关闭自动更新(win10怎么关闭自动获取的ip地址)

  • 物联卡不支持机型(物联卡不兼容手机)

    物联卡不支持机型(物联卡不兼容手机)

  • 快手咋更换名字(快手更换名字一直提示被使用)

    快手咋更换名字(快手更换名字一直提示被使用)

  • 苹果受信任证书啥意思(苹果受信任证书存储区日期是什么意思)

    苹果受信任证书啥意思(苹果受信任证书存储区日期是什么意思)

  • 苹果无线鼠标怎么充电(苹果无线鼠标怎么用)

    苹果无线鼠标怎么充电(苹果无线鼠标怎么用)

  • 流量卡停机了怎么激活(流量卡停机了怎么办)

    流量卡停机了怎么激活(流量卡停机了怎么办)

  • qq拆礼物对方知道吗(qq送礼物对方拆开)

    qq拆礼物对方知道吗(qq送礼物对方拆开)

  • 开热点是什么意思(开热点会怎么样?)

    开热点是什么意思(开热点会怎么样?)

  • 断路器1p2p是什么意思(断路器1p+n和2p的区别)

    断路器1p2p是什么意思(断路器1p+n和2p的区别)

  • airpodspro送的是快充线吗(airpodspro送的是20w快充线)

    airpodspro送的是快充线吗(airpodspro送的是20w快充线)

  • al30华为是什么型号(lld_al30华为什么型号)

    al30华为是什么型号(lld_al30华为什么型号)

  • 苹果7plus可以遥控空调吗(苹果7p可以遥控吗)

    苹果7plus可以遥控空调吗(苹果7p可以遥控吗)

  • ipad2017参数配置(ipad2017参数配置处理器)

    ipad2017参数配置(ipad2017参数配置处理器)

  • 荣耀v30pro防水级别(荣耀v30pro防水等级)

    荣耀v30pro防水级别(荣耀v30pro防水等级)

  • oppor11s卡顿解决方法(oppor11s太卡了怎么办)

    oppor11s卡顿解决方法(oppor11s太卡了怎么办)

  • 填错地址已发货怎么办(填错地址了已发货)

    填错地址已发货怎么办(填错地址了已发货)

  • excel图表工具在哪里(excel中图表工具有什么选项卡)

    excel图表工具在哪里(excel中图表工具有什么选项卡)

  • word的五种对齐方式(word五种对齐方式快捷键)

    word的五种对齐方式(word五种对齐方式快捷键)

  • iphone11pro max双卡吗(iphone11promax双卡吗)

    iphone11pro max双卡吗(iphone11promax双卡吗)

  • 快手为什么连不上麦(快手为什么连不上网能连数据)

    快手为什么连不上麦(快手为什么连不上网能连数据)

  • 金立手机充电代码(金立手机充电代码怎么看)

    金立手机充电代码(金立手机充电代码怎么看)

  • oppok3是多少瓦快充(oppok3多少w)

    oppok3是多少瓦快充(oppok3多少w)

  • m2散热片怎么装(m2散热怎么拆)

    m2散热片怎么装(m2散热怎么拆)

  • vivox27升降摄像头怎么开(vivox27升降摄像头拆解安装)

    vivox27升降摄像头怎么开(vivox27升降摄像头拆解安装)

  • ppt播放设置(PPT播放设置间隔时间)

    ppt播放设置(PPT播放设置间隔时间)

  • Linux如何删除替换变量值?Linux删除替换变量值的方法(linux如何删除lv)

    Linux如何删除替换变量值?Linux删除替换变量值的方法(linux如何删除lv)

  • 纳税人进口货物应当自海关填发税款
  • 税金及附加可以为负数吗
  • 质量体系证费用计入什么科目
  • 横幅属于什么发票范围
  • 增值税减免所得税填在哪一栏
  • 居间费用超过3%剩余的怎样能拿到手
  • 金税盘没有及时清卡怎么办
  • 税前薪酬包括五险一金吗
  • 票据贴现业务利润怎么算
  • 小规模纳税人每个月需要报什么税
  • 跨年度借款利息的税务处理怎么做?
  • 红字发票是否要修改往期申报表
  • 公司聘请专家的差旅费可以税前扣除吗
  • 陈列费税率多少
  • 低值易耗品摊销方法
  • 对方多开发票怎么处理
  • 非增值税应税项目有哪些2023
  • 供电局开具增值发票
  • 降低房租
  • 税务领取发票后怎么操作
  • 购车时服务费用怎么算
  • 以实物投资的税种有哪些
  • 营改增挂靠工程项目账务处理
  • 购房时收取的卖方费用
  • 一般户收到基本户转账的会计分录
  • 电子账册需要缴纳印花税的规定是怎么说?
  • 同一控制下企业合并权益抵消
  • 公司年度财务报告怎么写
  • 税盘没反应
  • postgres.exe是什么进程 postgres进程查询
  • ccs是什么软件
  • 计提折旧和计提减值
  • 下脚料属于什么科目
  • 代开专用发票的流程资料要求
  • 办公楼需要什么
  • 库存股属于什么会计科目
  • vue3快速入门
  • php 包含
  • 假发票如何举报
  • 盘盈材料会计分录
  • sqlserver2008数据库备份和恢复步骤
  • SQL Server 2000向SQL Server 2008 R2推送数据图文教程
  • 提取法定盈余公积会影响留存收益吗
  • 应付职工薪酬的含义
  • 增值税是指怎样计算的
  • 交房租会计分录怎么写好
  • 小规模印花税有减免政策吗
  • 关联公司代缴社保劳动者怎么处理
  • 帮别的公司付款后发票该给谁开
  • 研发加计扣除抵减税额怎么算
  • 公司怎么样能开发票
  • 新成立公司实收资本没到位该怎么做账
  • 餐饮发票食品发票
  • 培训费发票是否可以抵扣
  • 日记账的建账工作
  • xp系统删除文件怎么删
  • ubuntu for windows
  • mac复制文件路径后怎么粘贴
  • 电脑主板bios设置图解
  • 如何使用组策略脚本
  • win8wifi受限
  • 你能可能
  • 在win7操作系统中通过什么可以查看计算机的配置
  • ubuntu20 配置静态ip
  • linux中文件系统
  • regsvc32.exe - regsvc32是什么进程 有什么用
  • win10取消uac
  • css实战手册
  • node stream原理
  • Shell正则表达式获取指定字符串
  • easyui footer
  • linux重启关闭打开达梦数据库
  • jquery中绑定和解绑的事件有哪些
  • unity怎么调用方法
  • cocos引擎教程
  • fiori开发
  • Android eclipse for mac redo 快捷键
  • 个人经营所得定率征收税率表
  • 新车购置税是多少
  • 合肥高新公共事务管理有限公司
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设