Phi*_*der 5 java collections list
我正在使用以下代码:
List<Object> dest = new LinkedList<Object>();
Collections.copy(oldList, src);
Run Code Online (Sandbox Code Playgroud)
当我执行代码时,出现异常:
java.lang.IndexOutOfBoundsException: Source does not fit in dest
at java.util.Collections.copy(Collections.java:589)
Run Code Online (Sandbox Code Playgroud)
我知道如何解决这个问题,但是我不明白的是:
当我手动添加元素时,列表将自动增加容量。为什么Collections#copy不能这样做?
因为这就是它的实现方式。如果您查看此方法的源代码,您会看到
if (srcSize > dest.size())
throw new IndexOutOfBoundsException("Source does not fit in dest");
Run Code Online (Sandbox Code Playgroud)
所以如果你想实现自增,那就自己写方法吧。
| 归档时间: |
|
| 查看次数: |
3458 次 |
| 最近记录: |