如何投射一個完整的列表而無需在Java中迭代它。 我有這樣的功能:Java如何投射整個列表
private List<Object> getItems (List<Object> list, Pagination pagination) {
if (list.size() > pagination.getItemsXPage()) {
int init = (pagination.getCurrentPage()-1)* pagination.getItemsXPage();
int end = init + pagination.getItemsXPage();
if (end > list.size()) {
end = list.size();
}
return list.subList(init, end);
} else {
return list;
}
}
我想這樣做,但它是不可能的?
List<ApplicationSearchItem> applicationSearchItem = (List) getItems (list, searchCriteria.getCategoryProductsPagination());
簡答:你不行。長答案:創建一個新的'List'並通過強制轉換逐個複製每個元素。見[這個問題](http://stackoverflow.com/questions/933447/how-do-you-cast-a-list-of-supertypes-to-a-list-of-subtypes)。 –
Turing85