在项目中使用ObjectMapper.readValue转换实体类,在某个实体类中,有个属性changeProperties,是Set<Entity>,转换后,changeProperties的值个数总是只有1个。

排查了很久,尝试了很多方法,最后发现Entity这个类重写了equals和hashCode,用id来计算hashCode和equals。而id属性的值又刚好都为null,于是修改equals和hashCode方法,将方法中的计算,改为用其他百分百有值的属性。

修改后重启,转换成功了,changeProperties的值个数正常了。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐