【Java】日常 bug 记录

深浅拷贝 注意

记一次深拷贝导致的bug。项目里有一个缓存,简单理解就是一个<Integer, List>的map,由于考虑不周,检索时直接返回了map里的list,后面有对list的过滤操作,然后返回给客户端。这样相当于直接把缓存的list的引用返回了,如果后面要对list做修改,比方说删除元素之类的,就会有副作用,导致缓存内被修改,影响后续的处理。这里其实应该做一个深拷贝,每一次返回时都把缓存的元素深拷贝一份,比方说新new一个list,然后把缓存的元素add到list,最后返回这个list而不是缓存的。以后做项目也要考虑到对象的深浅拷贝问题。

批处理 注意

如果想遍历一个集合,处理,再转成一个新的结合返回,这是要小心如果那一次迭代抛异常了,可能导致永远无法返回结果,所以循环内部一定要做try-catch机制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值