所以我有这段代码:

    for(Runnable loadTask : mMeshLoadMap.values())
    {
        if(loadTask != null)
        {
            loadTask.run();
            loadTask = null;
        }
    }


我的问题是loadTask = null语句从不执行,Android Studio表示“从未使用分配给loadTask的值“ null”” ...

另外,当我在该行上设置断点时,调试器将永远无法到达断点。
它可以达到loadTask.run(),但不能达到loadTask = null
而且我敢肯定loadTask.run()不会阻塞太长时间

最佳答案

当然可以分配它,但毫无意义。您只需要使名为loadTask的引用为空(该引用超出了该块的范围)。您无法更新数组中的引用。 The For-Each Loop说(部分)


for-each循环隐藏了迭代器,因此您无法调用remove。因此,for-each循环不可用于过滤。同样,它不适用于循环时需要循环遍历的列表或数组中的元素。

08-08 03:38