【SpringBoot】Java中isEmpty使用不当报错空指针

news/2025/1/2 14:40:45/

 业务场景:

        查询区域列表接口,为了提高接口TPS,选择将列表数据加入缓存。

        1、请求该接口时,首先查询redis,如果redis不为空,则获取redis中key对应的value值,转换为特定结构返回前端。

        2、如果redis为空,则查询数据库,再将所查询到的数据存入redis,设置过期时间。

问题描述:

        然而请求进来查询redis时,redis没有对应key值,按逻辑来讲应该查询数据库,而不是直接报错空指针。

解决:

        更换为StringUtils.isEmpty()方法进行校验。

总结:

        是因为在判断redis中是否存在对应数据时使用了,if (stringDataKey.isEmpty()) 来进行校验是否为空,但是在使用isEmpty时前提是stringDataKey字符串本身不能为null,没有 "null.isEmpty()"这个方法,导致了空指针。

        随后更换为StringUtils.isEmpty(stringDataKey)解决。它一般会先去检查传入的参数是否为 null,如果是 null,直接就判定为空(符合我们对于 “空” 的一种常规理解,也就是没有值嘛),然后返回 true;如果参数不为 null,才会进一步去看这个字符串的长度是不是等于 0,综合这两种情况(null 或者长度为 0 的字符串)来确定是否为空字符串,这样无论传入的 stringDataKey 是 null 还是实实在在的空字符串,都能正确地进行判断,避免了出现空指针异常的情况


http://www.ppmy.cn/news/1559417.html

相关文章

docker compose deploy fate cluster

官方文档 写的不清晰 KubeFATE,用于生成部署脚本,链接 部署机就是下载了 KubeFATE的主机;运行机就是要安装fate容器的主机(部署机和运行机可以相同) 两个主机:并非必须 centos7,Ubuntu也行Doc…

uniapp下拉选择组件

目录 背景 实现思路 代码实现 配置项 使用 尾巴 背景 最近遇到一个这样的需求,在输入框中输入关键字,通过接口查询到结果之后,以下拉框列表形式展现供用户选择。查询了下uni-app官网和项目中使用的uv-ui库,没找到符合条件的…

uniapp下载打开实现方案,支持安卓ios和h5,下载文件到指定目录,安卓文件管理内可查看到

uniapp下载&打开实现方案,支持安卓ios和h5 Android: 1、申请本地存储读写权限 2、创建文件夹(文件夹不存在即创建) 3、下载文件 ios: 1、下载文件 2、保存到本地,需要打开文件点击储存 使用方法&…

Java实现简单爬虫——爬取疫情数据

1.项目准备 在项目中使用到了jsoup和fastjson jsoup用于创建一个连接(绘画) 用于获取和解析HTML页面 而fastjson对数据进行一个格式化 在pom.xml导入坐标 <dependencies><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</a…

ip-协议

文章目录 1. 网络层2. ip协议2.1 ip协议格式2.2 网段划分基本概念网段划分的两种方式为什么要网段划分&#xff1f;特殊的IP地址IP地址数量不足 2.3 私有IP与公网IP2.4 路由 3. IP的分片与组装为什么要分片与组装&#xff1f;如何分片&#xff1f;如何组装&#xff1f; 1. 网络…

594: Maximum Tape Utilization Ratio

解法&#xff1a; 对于该题有以下错误&#xff08;敬希评论区指正 1.dp定义在全局会wa struct node {int count; // 当前容量下能够存储的程序数量int sum; // 当前容量下所占用的磁带长度vector<int> path; // 当前容量下选择的程序的路径&#xff08;存放的程序…

输煤皮带智能巡检解决方案

输煤皮带系统作为煤炭运输的重要环节&#xff0c;是火力发电厂和煤炭化工等行业的重要基础设施。系统通常运行在高温、高湿、粉尘严重的环境中&#xff0c;机械故障、皮带磨损和跑偏等问题时有发生&#xff0c;严重影响生产效率和安全。传统的人工巡检方式存在频率不足、覆盖面…

Python的简单爬虫框架

爬虫为网络爬虫&#xff08;又称为网页蜘蛛&#xff0c;网络机器人&#xff0c;在FOAF社区中间&#xff0c;更经常的称为网页追逐者&#xff09;&#xff0c;是一种按照一定的规则&#xff0c;自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、…