场景:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.44</version>
</dependency>
想要在实体类中写一个克隆方法
public AdtrackReportCard getObjectClone() {
return new AdtrackReportCard(this.name , this.type , this.pf , this.imf , this.clf , this.dataSource) ;
}
自己写的克隆方法或者继承clone接口实现的克隆 都报错
java.lang.StackOverflowError: null
at com.alibaba.fastjson.serializer.ASMSerializer_2_AdtrackReportCard.writeNormal(Unknown Source)
at com.alibaba.fastjson.serializer.ASMSerializer_2_AdtrackReportCard.write(Unknown Source)
at com.alibaba.fastjson.serializer.FieldSerializer.writeValue(FieldSerializer.java:284)
at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:411)
at com.alibaba.fastjson.serializer.JavaBeanSerializer.write(JavaBeanSerializer.java:120)
解决
我的解决方案是 换个类中写克隆方法