PackingDemand.class
StatusHistory.class
造成该问题的原因是:PackingDemand与StatusHistory之间的双向引用。这些类中生成的两个toString()
方法都会无休止地相互调用导致出现java.lang.StackOverflowError。
解决方法:
1.对于使用@ToString.Exclude
生成的toString()
,排除PackingDemand中statusHistories这个字段。
PS:你可能会在equals
和hashCode
上遇到类似的问题。也可以使用@EqualsAndHashCode.Exclude
将其排除在那里。