总是最后一个元素的信息显示在List(Java)中

时间:2015-06-18 12:47:23

标签: java list arraylist

我有一些列表包含一些Apk文件'信息:

CurPageID = wpDone

当我将信息逐个打印到控制台时,它会按照我的要求显示。但是在List中,它总是只显示最后添加的apk文件的包名,字节大小,哈希数等。当然我不想要那样。有什么问题?

注意:请不要担心代码缺乏易读性和模块性。我是面向对象结构的新手。

1 个答案:

答案 0 :(得分:2)

您正在循环的每次迭代中创建一个新列表:

    for(int y = 1; y <= 53; y++)
    { 
        fileList = new ArrayList<DevFile>();
        DevFile file = new DevFile();
        ContentDev content = new ContentDev();

        /* some DevFile file addings */

        fileList.add(file);  
        ...

这意味着最后只有最后一个文件位于该列表中。

将其更改为:

    fileList = new ArrayList<DevFile>();
    for(int y = 1; y <= 53; y++)
    { 
        DevFile file = new DevFile();
        ContentDev content = new ContentDev();

        /* some DevFile file addings */

        fileList.add(file);  
        ...

另外,我看到你在另一个循环中创建DevFile的实例,但从不对它们做任何事情。不应该将它们添加到列表中吗?