System.arraycopy getting ava.lang.ArrayIndexOutOfBoundsException.. I am trying to copy data from one array to the next. but I am getting a exception
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);
}
解决方案
You're trying to copy 8 items into an array of length 1. You can't do that.
Otherwise, if any of the following is true, an IndexOutOfBoundsException is thrown and the destination is not modified:
The srcPos argument is negative.
The destPos argument is negative.
The length argument is negative.
srcPos+length is greater than src.length, the length of the source array.
destPos+length is greater than dest.length, the length of the destination array.
In this case, destPos + length is 8, and dest.length is 1, hence the exception is being thrown.
Note that arrays in Java have a fixed length. If you want an expandable container, look at ArrayList.