java 个人代码 小册子记录遇到的坑

阅读: 评论:0

java 个人代码 小册子记录遇到的坑

java 个人代码 小册子记录遇到的坑

java 个人代码 小册子记录遇到的坑 优秀代码记录:

代码部分

  • ​ 解决 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 包升级 解决包的冲突

    • 原有包不存在 需要 从新进行引入
    • 影响 Spring 的发版的问题包,进行 排掉不引用 hibernate-validator
      • 反向的打包的时候也需要干净一些
    • contains 是包含的关系 比如字符串中"1234AABBCC".contains 答案是true 注意使用的场景
  • 最近 年轻人不讲码德 惊人传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问题。

发现的个人 技术栈问题

  • Steam 流不会

本文发布于:2024-02-02 02:02:38,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170681411340696.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:小册子   代码   java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23