无法比较子类中ArrayList的大小

时间:2015-11-05 05:56:51

标签: java arraylist

我有一个带有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循环进行打印时,它会正确打印尺寸。

希望有人可以提供帮助。

1 个答案:

答案 0 :(得分:0)

因为当您实例化类的任何对象时,它会为每个非静态成员分配内存。所以你的子类1对象有一个clientList,而子类2对象有不同的对象用于不同的内存分配。