数组复制 截取 java,System.arraycopy获取java.lang.ArrayIndexOutOfBoundsException

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.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值