java - 复制静态列表的建议

标签 java android list static

public class MainActivity extends Activity {
    static List<Towar> chosen_items;

......
}

public class ItemOrder implements Serializable {
    static List<Item> item_ordered;

....
}

我正在尝试做这样的事情:

ItemOrder.item_ordered = new ArrayList<Item>(MainActivity.chosen_items.size());

Collections.copy(ItemOrder.item_ordered, MainActivity.chosen_items);

我想将列表从 MainActivity.chosen_items 复制到 ItemOrder.item_ordered,但出现如下错误:

 java.lang.IndexOutOfBoundsException: destination.size() < source.size(): 0 < 1

最佳答案

new ArrayList(10).size() 将返回 0。10 是初始容量,而不是大小。

你可以这样做:

ItemOrder.item_ordered = new ArrayList<Item>(MainActivity.chosen_items);

或者这个:

ItemOrder.item_ordered = Arrays.asList(new Item[MainActivity.chosen_items.size()]);
Collections.copy(ItemOrder.item_ordered, MainActivity.chosen_items);

顺便说一句,您对静态列表的使用有一种设计味道。

关于java - 复制静态列表的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21551661/

相关文章:

java - Android非法状态异常

java - Mockito doThrow on void method with null argument not throw exception : What am I doing wrong?

共享库中静态库的 Android NDK 调用 API

java - PermissionUtils 无法解决

python - 在列表中找到第 n+n 个元素

list - `predsort/3` 的可能行为

添加元素时 Java XML DOM 错误

java - MyEclipse 中的 "build.properties does not exist"错误

java - Pyjnius 自定义 java 方法返回 'JavaException: Unable to find a None Method' 在 Public Static 之后工作

python - 如何使用可变长度序列的序列拆包?