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

  • 华为5g手机nova6怎么插耳机(华为5g手机什么时候回归)

  • 小米社区怎么卸载(小米社区怎么卸载不掉)

  • 不知道单号知道手机号怎么查快递(不知道单号知道手机号怎么查快递极兔)

  • 微信为什么只能发15秒的视频(微信为什么只能转一万)

  • 注销过的手机号码可以重新注册吗(注销过的手机号码还能注册吗)

  • 华为nova7跟nova7se的区别(华为nova7跟nova7se外观有什么区别)

  • qq哪年开始的(qq开始于哪一年)

  • 快手b类违规能上热门吗(快手b类违规能解封吗)

  • qq封号处理是什么意思(qq封号处理一般封多久)

  • 抖音极速版下载苹果手机可以下载吗(抖音极速版下载安装下载)

  • airport怎么改名(怎么改名airpods)

  • 快手里黄钻有什么用(快手黄钻能干啥)

  • 怎么关闭对方视频彩铃(怎么关闭对方视频背景音乐)

  • pr关键帧快捷键(pr关键帧快捷键怎么打)

  • 全民k歌中如何修音(全民K歌中如何删掉自己发布的动态)

  • 无法打开网页,因为网络连接被重设怎么办(iphone无法打开网页怎么办)

  • win7系统如何进行修复?(win7系统怎么进)

  • Win10图片密码怎么设置? Win10创建图片密码的技巧(win10图片密码怎么全屏显示)

  • 【时序列】时序列数据如何一步步分解成趋势(trend)季节性(seasonality)和误差(residual)- 详细理解python sm.tsa.seasonal_decompose(时序21-21-21-47)

  • 浅析<router-view> v-slot事例(浅析中国式现代化的理论价值与现实意义)

  • python中rindex函数是什么(python3中rindex用法)

  • phpcms常量在哪里定义(phpcms怎么用)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络