0

我是安卓菜鸟。我对这个陈述有问题:

在创建新对象时避免使用迭代器。

究竟什么是迭代器?我以为是这样的:

    int a = 1;
    while (a < 100)
        System.out.println(a);
        a += 1;  //iterator

这里的关键是垃圾收集。这是一个问题,因为每次循环循环时,都会在内存中创建一个新的 a 实例?否则,我想不出一种方法来做这样的事情。也许为“a”创建一个包含“a”并具有 add(int something) 方法和 getA() 方法的对象。

否则我该怎么做(如果可能)?我错过了什么吗?

4

1 回答 1

3

1)不,那不是Iterator。那就是迭代。迭代器是 Java/Android API 中的接口

2)int是原始类型,而不是Object类型,因此它将分配在堆栈上而不是堆上。一旦方法调用完成,堆栈就会消失。

3)即使您在循环内使用引用变量在循环内创建新对象,该引用也将被限定为循环。一旦循环完成,引用就会消失,对象将有资格进行 GC。

于 2013-07-09T04:57:25.047 回答