解决 ToString 的问题
@ToString(exclude = { "mobileHCode", "electronicCode", "teleCode", "cityName", "provTelecode","proviceCode" })
利用注解 希望toString 中不展示的字段 @ToString(exclude = {"字段名称","字段名称"})
注意细节
public QueryMyProductOfferResDTO getQueryTelecomMemberLevelRes(String productNo) {QueryMyProductOfferResDTO result = new QueryMyProductOfferResDTO();QueryMobileHResponse response = getQueryUserInfo(productNo);// 接口调用失败 非电信号码 返回空if (StringUtils.CarrierName()) || SwitchType().equals(queryTelecomMemberSwitch) || !"dx".CarrierName())) {return result;}String cacheKey = StringUtils.join(new String[]{ConstantRedisPrefixKey.CACHE_KEY_TELECOM_MEMBER_LEVEL_USER_INFO, productNo}, Constant.SEPARATOR_UNDERLINE);result = (QueryMyProductOfferResDTO) Object(cacheKey);if (result != null) {return result;}// 调用 5g 接口查询用户的5g套餐档次QueryMyProductOfferReqDTO reqDTO = new QueryMyProductOfferReqDTO();try {result = telecomUserInfo.queryMyProductOffer(reqDTO).getResult();} catch (Exception e) {("log getQueryTelecomMemberLevelRes 查询用户订购的套餐销售品以及附着叠加包 异常用户的手机号:{}", productNo);redisClient.setObject(cacheKey, result, 2, TimeUnit.MINUTES);return result;}redisClient.setObject(cacheKey, result, TimeDiffToNextDate() + 30L, TimeUnit.SECONDS);return result;}
上面代码的发现的问题 redis如果获取不到会进行设置null 到 result == null 的值
如果产生了异常 返回出去的是Null 的值
Maven 包升级 解决包的冲突
最近 年轻人不讲码德 惊人传Null 来欺负我,我大意了 NullException 的注意的地方 来自码出高效
【推荐】防止NPE,是程序员的基本修养,注意NPE产生的场景:
1)返回类型为基本数据类型,return包装数据类型的对象时,自动拆箱有可能产生NPE。
反例:public int f() { return Integer对象}, 如果为null,自动解箱抛NPE。
2) 数据库的查询结果可能为null。
3) 集合里的元素即使isNotEmpty,取出的数据元素也可能为null。
4) 远程调用返回对象时,一律要求进行空指针判断,防止NPE。
5) 对于Session中获取的数据,建议NPE检查,避免空指针。
6) 级联调用A().getB().getC();一连串调用,易产生NPE。
正例:使用JDK8的Optional类来防止NPE问题。
发现的个人 技术栈问题
本文发布于:2024-02-02 02:02:38,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170681411340696.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |