我有下面的代码,我想知道这是否是返回数组的正确方法。 我的函数返回Page<byte[]>[]
(一个数组Page<byte[]>
),我使用ArrayList作为容器。如何在Java中使用带有泛型类型的ArrayList.toArray()函数
页面是私有HashMap成员。 页面是一个对象,我创建了到底有一个泛型类型T.
的成员,我回我的ArrayList铸成指定者,但我不能只告诉它丢给页数组对象,它需要一个固定的大小(新的页面[pageArray.size()]),我认为这不是正确的做法。
什么是正确的方法?
public Page<byte[]>[] getPages(Integer[] pageIds){
ArrayList<Page<byte[]>> pageArray = new ArrayList<Page<byte[]>>();
for (int pageId : pageIds){
if (pages.containsKey(pageId)){
pageArray.add(pages.get(pageId));
}
}
return pageArray.toArray(new Page[pageArray.size()]);
//return pageArray.toArray(Page);
为什么你觉得这是不是“正确”的方式? – 2014-09-05 08:42:03
如果你必须对它们进行这样的操作,你为什么要用数组而不是列表? – Narmer 2014-09-05 09:13:48