如何在java中使用对象列表?

时间:2012-10-23 17:00:13

标签: java collections

在下面提到的程序数组中,一个List作为参数传递给了这个函数。任务是将数组切割为定义大小的LookupTable列表,然后将它们添加到binlists中。在这种情况下,什么应该是binlists的声明?它应该是List吗?因为它在add()函数中给出了一个错误。如果我使用提到的所有列表作为原始类型,它完全正常。但我的目的是使其参数化。

    protected List<LookupTable> binlists;
    binlists = new ArrayList<LookupTable>(nofbins);

    while(chunk+binsize <= tot_size)
    {
        List tempsort = (List<LookupTable>)arry.subList(chunk,chunk+binsize);
        System.out.println(tempsort.size());
        binlists.add(tempsort);
        chunk = chunk+binsize;
    }

1 个答案:

答案 0 :(得分:1)

您需要使用addAll方法将列表添加到现有列表中: -

binlists.addAll(tempsort);

并且您应该始终声明List属于generic type

因此,请将您的tempSort列表声明为generic list类型LookUpTable: -

List<LookupTable> tempsort = 
                  (List<LookupTable>)arry.subList(chunk,chunk+binsize);

事实上,如果您将typecast列表声明为通用类型,则可以保留自arry