要创建List,为什么Java不允许创建它们然后逐个添加元素?
这有效:
public static List<TrackedItem> create(List<Item> items)
{
TrackedItem[] arr = new TrackedItem[items.size()];
int i = 0;
for (Item item : items)
{
arr[i] = TrackedItem.createOrUpdate(item);
i++;
}
return java.util.Arrays.asList(arr);
}
Run Code Online (Sandbox Code Playgroud)
这不起作用(tracked.add()导致a NullPointerException):
public static List<TrackedItem> create(List<Item> items)
{
List<TrackedItem> tracked = java.util.Collections.emptyList();
for (Item item : items)
{
tracked.add(TrackedItem.createOrUpdate(item));
}
return tracked;
}
Run Code Online (Sandbox Code Playgroud)
Ins*_*ere 16
java.util.Collections.emptyList();
static List emptyList()返回空列表(不可变).
这意味着,您将无法更改此列表.
其定义:
static List EMPTY_LIST空列表(不可变).
编辑:
要创建新列表,您可以使用例如
List myList = new ArrayList<MyClass>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4246 次 |
| 最近记录: |