位置: 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语法怎么使用?(微信小程序不方便)

  • vivox70pro+怎么打开开发者模式(vivox70pro+如何)

    vivox70pro+怎么打开开发者模式(vivox70pro+如何)

  • 荣耀x10max是什么材质的屏幕(荣耀x10max是什么屏幕材质)

    荣耀x10max是什么材质的屏幕(荣耀x10max是什么屏幕材质)

  • 微信如何拉群组聊天(微信如何拉群组联系人)

    微信如何拉群组聊天(微信如何拉群组联系人)

  • 小米6音量键不断弹出(小米6音量键不灵)

    小米6音量键不断弹出(小米6音量键不灵)

  • 荣耀v20支持人脸识别吗(荣耀v20有人脸解锁吗)

    荣耀v20支持人脸识别吗(荣耀v20有人脸解锁吗)

  • 怎么把横的照片变成竖的(怎么把横的照片变成壁纸)

    怎么把横的照片变成竖的(怎么把横的照片变成壁纸)

  • 华为手机视频通话美颜在哪里设置

    华为手机视频通话美颜在哪里设置

  • 怎样删除微信零钱明细(怎样删除微信零钱包记录)

    怎样删除微信零钱明细(怎样删除微信零钱包记录)

  • 苹果无法购买腾讯会员(苹果无法购买腾讯游戏)

    苹果无法购买腾讯会员(苹果无法购买腾讯游戏)

  • 微信群公告可以撤回吗(微信群公告可以设置几条)

    微信群公告可以撤回吗(微信群公告可以设置几条)

  • vivo系统修复模式怎么开机(vivo 系统修复)

    vivo系统修复模式怎么开机(vivo 系统修复)

  • 戴尔g3多重(戴尔g3重量实测2019)

    戴尔g3多重(戴尔g3重量实测2019)

  • 华为mate30pro文件管理在哪里(华为mate30pro文件保密柜)

    华为mate30pro文件管理在哪里(华为mate30pro文件保密柜)

  • 苹果11怎么把相机声音关掉(苹果11怎么把相册加密码锁)

    苹果11怎么把相机声音关掉(苹果11怎么把相册加密码锁)

  • 斐讯app无法获取验证码(斐讯s7为什么不能获取其它数据)

    斐讯app无法获取验证码(斐讯s7为什么不能获取其它数据)

  • 华为nova5可以长截屏吗(华为nova5手机怎么长截屏的4种方法)

    华为nova5可以长截屏吗(华为nova5手机怎么长截屏的4种方法)

  • 苹果xr网络太慢有什么办法解决(苹果xr网速太慢)

    苹果xr网络太慢有什么办法解决(苹果xr网速太慢)

  • word中的标题占位符在哪(word标题占几行怎么设置)

    word中的标题占位符在哪(word标题占几行怎么设置)

  • 手机被探探封设备了怎么办(手机被探探封设备需要多久)

    手机被探探封设备了怎么办(手机被探探封设备需要多久)

  • 淘宝换货要什么步骤(淘宝换货什么时候发新货)

    淘宝换货要什么步骤(淘宝换货什么时候发新货)

  • 云闪付退款是退在哪里(云闪付退款是退到哪里)

    云闪付退款是退在哪里(云闪付退款是退到哪里)

  • 手机插u盘在哪里打开(手机插u盘在哪里打开vivo)

    手机插u盘在哪里打开(手机插u盘在哪里打开vivo)

  • 路由器的默认网关是多少详情(路由器的默认网关在哪里看)

    路由器的默认网关是多少详情(路由器的默认网关在哪里看)

  • Anaconda的虚拟环境的包在哪里?(详细教程)(anaconda的虚拟环境的作用)

    Anaconda的虚拟环境的包在哪里?(详细教程)(anaconda的虚拟环境的作用)

  • 递延所得税负债是什么科目
  • 纳税申报的流程是什么
  • 国际税收协定的名词解释
  • 税控盘为什么要年年交服务费
  • 小规模纳税人销售自己使用过固定资产
  • 用于员工福利的会计分录
  • 企业减少注册资金需要缴税吗
  • 核定征收的小规模企业所得税B表收入总额含税吗
  • 投资企业应确认投资收益的有
  • 施工企业所得税税率是多少
  • 公司车辆转让需要缴纳印花税吗
  • 退货的发票还能查询到么
  • 管理费抵扣如何计算
  • 税收优惠退回的税金怎么入账
  • 为什么开增票要加点
  • 购进机器进项税额怎么核算?
  • 发票开什么明目列福利费
  • 处置固定资产增值税税率
  • 关于个税应补退的说明
  • 啤酒消费税的计税基础
  • 外来原始凭证是指企业财会部门从外部购入的原始凭证
  • 去银行补充企业信息流程
  • 联营企业分得的利润应计入什么科目
  • 关于工程施工的文章
  • 背书人账户名称填什么
  • 税盘没反应
  • 我国税收法律制度不采用的税率是
  • mac切换不了中文怎么回事
  • php常用的技术栈
  • linux命令用法
  • 油费餐费入什么科目
  • 厂房修缮
  • 期间损益的科目
  • 固定资产账面价值是什么意思
  • 房产税会计科目应该走税金及附加还是管理费用
  • 境外佣金支付所需要征收的税
  • php生成二维码源码
  • 收到的担保费如何记账
  • 融资租赁会计处理小企业会计准则
  • 中途建账期初数据哪里来的
  • 前端实现文件下载列表
  • python一点都不简单
  • vue脚手架配合springsecurity
  • clock set命令
  • 营业外收入的会计科目编码
  • java一维数组从小到大排序
  • python wraps函数
  • 工程施工与工程结算对冲分录
  • 未收到货款但发货怎么办
  • 专票认证之后怎么做账
  • 支付宝提现到对公账户要收手续费吗
  • 计提本月应交增值税
  • 预付下个月租金分录
  • 存货换入无形资产账务处理
  • 不含税销售额等于净利润
  • 财务报表中预收账款
  • 手工账月末结账步骤
  • 机票的电子发票可以报销吗
  • 不能收回的应收账款
  • 网站的运维
  • centos禁止用户登录
  • win10系统光盘制作
  • win10无法双击
  • windows10周年纪念版
  • 升级win10之后东西不见了
  • win10version20h2的03累积更新
  • win10未检测到任何网络硬件
  • cocos2dx 3.5 win7 eclipse 环境搭建及hello world
  • exception继承
  • 使用驱动器u盘之前需要格式化
  • jQuery javascript获得网页的高度与宽度的实现代码
  • node发送短信
  • linux sed awk区别
  • javascript快速入门
  • 全面解析日本失去的十年
  • Android ORM之GreenDao学习
  • 浙江应急管理厅焊工证查询
  • 净缴税什么意思
  • 个人租车收入如何缴纳个人所得税
  • 有关节能环保的英语作文
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设