System.arraycopy获取ava.lang.ArrayIndexOutOfBoundsException ..我试图将数据从一个数组复制到下一个数组.但我得到一个例外
private String array[] = { "NO DATA YET" };
private void setListData()
{
String array2[] = { "Iphone", "Tutorials", "Gallery", "Android", "item 1", "item 2", "item3", "item 4" };
System.arraycopy(array2, 0, array, 0, array2.length);
}
Run Code Online (Sandbox Code Playgroud)
您试图将8个项目复制到长度为1的数组中.您不能这样做.
从文档:
否则,如果满足以下任何条件,则抛出IndexOutOfBoundsException并且不修改目标:
- srcPos参数为负数.
- destPos参数是否定的.
- 长度参数是否定的.
- srcPos + length大于src.length,即源数组的长度.
- destPos + length大于dest.length,即目标数组的长度.
在这种情况下,destPos + length是8,并且dest.length是1,因此抛出异常.
请注意,Java中的数组具有固定长度.如果您想要一个可扩展的容器,请查看ArrayList.
| 归档时间: |
|
| 查看次数: |
6756 次 |
| 最近记录: |