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

  • 二线品牌如何跨入一线的行列(二线品牌如何跨境电商)

    二线品牌如何跨入一线的行列(二线品牌如何跨境电商)

  • word上下型环绕在哪里(word上下型环绕怎么居中)

    word上下型环绕在哪里(word上下型环绕怎么居中)

  • 苹果手机怎么当空调遥控器用(苹果手机怎么当尺子)

    苹果手机怎么当空调遥控器用(苹果手机怎么当尺子)

  • 华为p30手机防水等级是多少(华为P30手机防水性能怎么样)

    华为p30手机防水等级是多少(华为P30手机防水性能怎么样)

  • p40可以插内存卡吗(p40插内存卡的方法)

    p40可以插内存卡吗(p40插内存卡的方法)

  • 为什么设置不了面容id(为什么设置不了页码)

    为什么设置不了面容id(为什么设置不了页码)

  • oracle查看所有表(Oracle查看所有表的数据量和大小)

    oracle查看所有表(Oracle查看所有表的数据量和大小)

  • qq登快手登不了怎么办(qq登不了快手了)

    qq登快手登不了怎么办(qq登不了快手了)

  • b站对方隐私设置无法关注(b站对方隐私设置无法查看空间内容)

    b站对方隐私设置无法关注(b站对方隐私设置无法查看空间内容)

  • 什么手机可以投屏到墙上(什么手机可以投影)

    什么手机可以投屏到墙上(什么手机可以投影)

  • 骁龙765g相当于什么处理器(骁龙765g相当于苹果什么处理器)

    骁龙765g相当于什么处理器(骁龙765g相当于苹果什么处理器)

  • 微云svip是干什么的(微云会员是干什么用的)

    微云svip是干什么的(微云会员是干什么用的)

  • 抖音无网络是怎么回事(抖音无网络怎么弄)

    抖音无网络是怎么回事(抖音无网络怎么弄)

  • 苹果11可以设置指纹解锁吗(苹果11可以设置几个人面容)

    苹果11可以设置指纹解锁吗(苹果11可以设置几个人面容)

  • 手机怎么重启系统(手机系统怎么重启手机)

    手机怎么重启系统(手机系统怎么重启手机)

  • 淘宝预售订单在哪里看(淘宝预售订单在哪里找)

    淘宝预售订单在哪里看(淘宝预售订单在哪里找)

  • 华为mate30能用谷歌吗(华为mate30能用谷歌服务吗)

    华为mate30能用谷歌吗(华为mate30能用谷歌服务吗)

  • 苹果x3dtouch使用教程

    苹果x3dtouch使用教程

  • realmeq是什么牌子手机(realmeq是什么手机)

    realmeq是什么牌子手机(realmeq是什么手机)

  • 手机电话号码突然没有了怎么办(手机电话号码突然少了)

    手机电话号码突然没有了怎么办(手机电话号码突然少了)

  • 苹果主卡副卡设置方法(苹果主卡副卡设置铃声)

    苹果主卡副卡设置方法(苹果主卡副卡设置铃声)

  • 拼多多试用后要归还吗(拼多多试用后要运费么)

    拼多多试用后要归还吗(拼多多试用后要运费么)

  • 华为p30pro怎么关闭后台运行(华为p30pro怎么关闭步数显示)

    华为p30pro怎么关闭后台运行(华为p30pro怎么关闭步数显示)

  • 钉钉如何解除企业绑定(钉钉如何解除企业)

    钉钉如何解除企业绑定(钉钉如何解除企业)

  • 高翔ORB-SLAM2稠密建图编译(添加实时彩色点云地图+保存点云地图)

    高翔ORB-SLAM2稠密建图编译(添加实时彩色点云地图+保存点云地图)

  • 增值税附征怎么计算
  • 税收保全措施有金银首饰吗
  • 赔付开票
  • 劳务公司开票税收分类
  • 企业捐赠扣除标准,超出部分
  • 增值税退税什么时候办理
  • 应缴纳企业所得税税额怎么算
  • 对外投资借款费用计入
  • 企业支付个人借款利息要扣个税吗
  • 复利现值是什么意思
  • 稳定性流动资产是经营性流动资产吗
  • 税务审计什么时候进行
  • 出口退税是按进项税额吗
  • 房产证没有可以补办吗
  • 公司房租可以抵多少税
  • 外地餐费计入什么账户
  • 两公司之间内部转账的会计处理
  • 哪些税费不适用征管法?
  • 临时设施需要验收吗
  • 委托采购是什么意思
  • 清算资本公积中的股本溢价应该怎么处理
  • 监证方什么意思
  • 发票遗失如何补开
  • 筹建期的工资
  • 奖金发放如何做账
  • mac桌面的文件夹怎么换到别的地方
  • 计提长期待摊费用的会计分录
  • 备用金冲销的会计分录
  • 蓝牙耳机连电脑
  • 解决http请求下无法开启麦克风问题
  • 怎么关闭磁贴模式
  • 业绩补偿是什么意思
  • 记账凭证填制的依据
  • 财务部门产生的费用入什么?
  • 货运业增值税税率
  • vue侧边栏导航,右侧显示对应内容
  • 微信小程序封掉了怎么办
  • 小规模纳税人出租不动产免征增值税
  • 深究Python中的asyncio库-线程池
  • zarchiver 小米
  • 农民工工资专用账户打款比例
  • 什么经营范围可以开门票发票
  • sqlloader-350错误
  • 有外币业务需不需要交税
  • 免征企业所得税的有哪些行业
  • 适用税率9%的征税行为有
  • 劳务外经证预缴税款
  • 营运资产周转次数计算公式是什么意思
  • 财务预付账款情况说明
  • 施工审图费计入什么科目
  • 融资租赁后期收入怎么算
  • 增资扩股影响原股东的利益吗
  • 销售收入用营业收入还是营业总收入
  • sqlserver多表关联查询
  • 微软win8下载
  • 电脑待机状态下载会继续吗
  • linux关闭进程kill
  • winxp网络设置在哪
  • intel的me
  • windows更新过程中
  • centos6设置ip
  • win1020h2版本千万别更新
  • 如果在一个命令行上输入和执行多条命令
  • iwatch命名
  • unity加密解决方案
  • linux防火墙开启80端口视频
  • bat修改注册表数值
  • Unity3D游戏开发(第2版)
  • js设置导航固定
  • unity游戏开发简历
  • nginx 执行shell
  • python设计教程
  • javascript前端开发案例教程课后答案
  • [置顶] 快来貌相则不达很好skmzx5
  • 北京天然气收费标准2024年
  • 广西税务局客服电话时间
  • 酒席发票
  • 职称评定专业一览表
  • 企业出租房产的税收优惠政策
  • 取得土地使用权后两年未开发
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设