更新信息的对比展示,对于list类型的优化
2018-06-21 本文已影响0人
xiangR
- 在工作中,会有一种信息对比的场景。如资质的提交,业务方希望可以在审核的时候明确的看到更新的内容,这就需要将提交的审核信息作为feature存储到申请单中。
- 我们需要在提交的时候对信息进行判断,本次提交的信息,是否需要审核。
比较两个对象(提交前,提交后)每个字段的变更,可以取巧为对象序列化为json,比较序列化后的md5字符串即可。 - 同时对与list 类型的数据,有一个坑点,有时我们会对list进行一个filter,比如这里我们需要比较品牌的资质集合,但是我们要filter掉所有不启用的品牌。在list 转map的时候,需要选择一个有序map,否则 map.values()得到的是一个无序集合,在最后一步list序列化的时候,list中可能存在的内容是相同的,但是顺序不对,而导致序列化后比较失败。当然我们也可以在最后序列化list之前先排序。
supplierBrandList.sort(Comparator.comparing(k -> k.supplierBrandId));