fastjson 报错 Comparison method violates its general contract!

文章指出由于使用了特定版本的Fastjson(2.0.16),在执行Arrays.sort时遇到IllegalArgumentException,原因是排序方法违反了其一般合同。解决方案是将Fastjson版本升级到2.0.24以解决问题。
摘要由CSDN通过智能技术生成

这一行报错

java.lang.IllegalArgumentException: Comparison method violates its general contract!
    at java.util.ComparableTimSort.mergeHi(ComparableTimSort.java:866)
    at java.util.ComparableTimSort.mergeAt(ComparableTimSort.java:483)
    at java.util.ComparableTimSort.mergeForceCollapse(ComparableTimSort.java:422)
    at java.util.ComparableTimSort.sort(ComparableTimSort.java:222)
    at java.util.Arrays.sort(Arrays.java:1312)
    at java.util.Arrays.sort(Arrays.java:1506)
    at java.util.ArrayList.sort(ArrayList.java:1462)
    at java.util.Collections.sort(Collections.java:141)
    at com.alibaba.fastjson2.writer.ObjectWriterCreatorASM.createObjectWriter(ObjectWriterCreatorASM.java:344)
    at com.alibaba.fastjson2.writer.ObjectWriterProvider.getObjectWriter(ObjectWriterProvider.java:195)
    at com.alibaba.fastjson2.JSONWriter.getObjectWriter(JSONWriter.java:460)
    at com.alibaba.fastjson2.writer.FieldWriterList.getItemWriter(FieldWriterList.java:79)
    at com.alibaba.fastjson2.writer.FieldWriterList.writeList(FieldWriterList.java:191)
    at com.alibaba.fastjson2.writer.ObjectWriter_2.write(Unknown Source)
    at com.alibaba.fastjson2.JSON.toJSONString(JSON.java:2183)
    at com.ruoyi.web.controller.publicsearch.EpTransUpdataController.createObjectData(EpTransUpdataController.java:1148)

原因fastjson中用到了Arrays.sort方法,导致排序错误

解决办法将fastjson 的版本从2.0.16 升级到 2.0.24

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值