Java循环引用错误

时间:2016-08-09 09:12:29

标签: java

我需要一些帮助。

我有A班:

 class A {
List<B> listB;

A() {
    listB = new ArrayList<B>();
    listB.add(new B("1"));
    listB.add(new B("2"));
    listB.add(new B("3"));
    listB.add(new B("4"));
}

public void clean() {
    for (B b : listB) {
        b.clean();
    }
    this.listB = null;
}

}

和B级:

class B {
String id = "";
A a = new A();

B(String id) {
    this.id = id;
}

public void clean() {
    a = null;
}

}

和主要:

public class Demo {
public static void main(String[] args) {
    A a = new A();
    a.clean();
}

}

我只想为A和B设置null但是我得到了这个错误:线程“main”中的异常java.lang.StackOverflowError“

有人可以帮我解释一下。感谢。

0 个答案:

没有答案