diff --git a/src/org/redkale/convert/ObjectDecoder.java b/src/org/redkale/convert/ObjectDecoder.java index b1b266dee..642fe3f10 100644 --- a/src/org/redkale/convert/ObjectDecoder.java +++ b/src/org/redkale/convert/ObjectDecoder.java @@ -166,6 +166,8 @@ public class ObjectDecoder implements Decodeable { } } this.members = list.toArray(new DeMember[list.size()]); + //先排序一次 + Arrays.sort(this.members, (a, b) -> a.compareTo(factory.isFieldSort(), b)); Set pos = new HashSet<>(); for (int i = 0; i < this.members.length; i++) { if (this.members[i].index > 0) pos.add(this.members[i].index); diff --git a/src/org/redkale/convert/ObjectEncoder.java b/src/org/redkale/convert/ObjectEncoder.java index dd6e64a8c..7a39179d0 100644 --- a/src/org/redkale/convert/ObjectEncoder.java +++ b/src/org/redkale/convert/ObjectEncoder.java @@ -116,6 +116,8 @@ public class ObjectEncoder implements Encodeable { list.add(member); } this.members = list.toArray(new EnMember[list.size()]); + //先排序一次 + Arrays.sort(this.members, (a, b) -> a.compareTo(factory.isFieldSort(), b)); Set pos = new HashSet<>(); for (int i = 0; i < this.members.length; i++) { if (this.members[i].index > 0) pos.add(this.members[i].index);