这是怎么导致的呢?
A 类属性包含着 B 类的引用
B 类属性包含着 A 类的引用
代码大概就是这样的:
@Data
public class User{
public String name;
public Dog dog;
}
@Data
public class Dog{
public String name;
public User user;
}
User user = new User()
Dog dog = new Dog()
user.setDog(dog);
dog.setDog(user);
System.out.println(user.toString())
当打印 toString 的时候,user 就需要打印属性,找到引用属性 dog 的 toString,而 dog 也找到引用属性 user 的 toString。
就这样不断循环套娃下去,最后 StackOverflowError
推荐个非常好用的 AI 网站,不断发展中:shushiai.com/aigc