优化代码,嵌套不能太深 if(StringUtils.hasText(status)){ if (status.equals("正常")){ lockStatus.add(findCodeByInfo(RedisKeyEnums.USERLOCKSTATE.getCode(), NOT_LOCK)); }else if(status.equals("已锁定")) { lockStatus.add( findCodeByInfo(RedisKeyEnums.USERLOCKSTATE.getCode(), ON_LOCK) ); lockStatus.add( findCodeByInfo(RedisKeyEnums.USERLOCKSTATE.getCode(), LOCK_BY_PERSON) ); lockStatus.add( findCodeByInfo(RedisKeyEnums.USERLOCKSTATE.getCode(), LOCK_BY_NOT_LOGIN) ); }else { return Result.failure("参数错误"); } }
时间: 2024-03-10 16:45:04 浏览: 277
org.apache.commons.lang3.StringUtils.jar.rar
可以使用 Map 来替代 if-else 语句的嵌套,避免嵌套太深,优化代码结构。代码如下:
```
if (StringUtils.hasText(status)) {
String code = RedisKeyEnums.USERLOCKSTATE.getCode();
Map<String, List<Integer>> statusMap = new HashMap<>();
statusMap.put("正常", Collections.singletonList(NOT_LOCK));
statusMap.put("已锁定", Arrays.asList(ON_LOCK, LOCK_BY_PERSON, LOCK_BY_NOT_LOGIN));
List<Integer> lockStatusList = statusMap.getOrDefault(status, null);
if (lockStatusList != null) {
for (Integer lockStatus : lockStatusList) {
lockStatus.add(findCodeByInfo(code, lockStatus));
}
} else {
return Result.failure("参数错误");
}
}
```
这样做可以将 if-else 语句的嵌套减少,代码结构更加清晰,易于理解和维护。
阅读全文