public List<DataPermissionSchemaEo> getDataPermissionsRedis(String userUid){ String redisResult = ""; if(StringUtils.isEmpty(userUid)){ redisResult =redisTemplate.opsForValue().get(SystemsConstant.DATA_PERMISSION_SCHEMA).toString(); }else { redisResult = redisTemplate.opsForValue().get(SystemsConstant.DATA_PERMISSION_SCHEMA+userUid).toString(); } return JSONObject.parseArray(redisResult,DataPermissionSchemaEo.class); }优化代码并防止空指针异常
时间: 2024-02-05 21:11:11 浏览: 129
详解Spring的StringUtils踩坑记录
5星 · 资源好评率100%
可以对代码进行如下优化:
```java
public List<DataPermissionSchemaEo> getDataPermissionsRedis(String userUid) {
String redisResult = StringUtils.isEmpty(userUid) ?
redisTemplate.opsForValue().get(SystemsConstant.DATA_PERMISSION_SCHEMA)
: redisTemplate.opsForValue().get(SystemsConstant.DATA_PERMISSION_SCHEMA + userUid);
return StringUtils.isEmpty(redisResult) ?
Collections.emptyList()
: JSONObject.parseArray(redisResult, DataPermissionSchemaEo.class);
}
```
这里使用了三目运算符,避免了重复的代码。同时,如果 Redis 中没有对应的值,我们直接返回一个空的 List,避免了空指针异常。
阅读全文