今天看啥  ›  专栏  ›  阿里云开发者

什么?for循环也会出问题?

阿里云开发者  · 公众号  · 科技公司  · 2024-07-19 08:30

文章预览

阿里妹导读 文章讲述了在Java编程中遇到并解决ConcurrentModificationException异常的经历与教训。 发现问题 在一次开发过程中,业务想知道消息是否是退款驱动发送的,而唯一判断的方法,是从消息的明细(可能是乱序的)中取出 唯一的一个退款明细 ,通过修改时间,看它是不是最后一条更新的明细,从而判断出它是退款驱动的消息。初来乍到的笃某不假思索,对方法入参内的列表使用了排序大法,通过实现compare接口,对应两个Detail的修改时间,便很轻松的获取到了想要的值。方法大致如下: public Boolean isReFundEvent (Event event) {  List details = event.getDetails();   if (Collections.isEmpty(details)) {     throw new Exception(...);  }  Collections.sort(details, new Comparator () {    @Override     public int compare(Detail input1, Detail input2) {       return input1.getModifiedDate().compar ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览