我有一个带有ArrayList和2个子类的类。
我在第一个子类中向ArrayList添加了另一个元素,但是当我在第二个子类中查找大小时,它仍然说,ArrayList的大小为0。
类:
ArrayList <ClientManager> clientList = new ArrayList <ClientManager>();
子类1:
clientList.add(clientManager);
System.out.println(clientList.size());
在第一个子类中,我添加一个元素并检查大小是否实际增加。
子类2:
实际代码:
while (clientList.size() == 0);
测试1:
while (clientList.size() == 0) {
System.out.println(clientList.size());
}
测试2:
while (true) {
System.out.println(clientList.size());
}
在第二个子类中,我尝试比较大小,但出于某种原因,它并不承认这一变化。
当我通过打印尺寸对其进行测试时,它始终打印为&#39; 0&#39;
但是当我使用infinte while循环进行打印时,它会正确打印尺寸。
希望有人可以提供帮助。
答案 0 :(得分:0)
因为当您实例化类的任何对象时,它会为每个非静态成员分配内存。所以你的子类1对象有一个clientList,而子类2对象有不同的对象用于不同的内存分配。