public class ArrayTest{
public static void main(String[] args)
{
int[] num1 = new int[]{1,2,3};
int[] num2 = new int[]{3};
System.arraycopy(num1,0,num2,0,num1.length);
for (int i=0;i<num2.length;i++)
{
System.out.println(num2[i]);
}
}
}Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at tianju.shuzu.ArrayTest.main(ArrayTest.java:8)eclipse。报告错误是这个
public static void main(String[] args)
{
int[] num1 = new int[]{1,2,3};
int[] num2 = new int[]{3};
System.arraycopy(num1,0,num2,0,num1.length);
for (int i=0;i<num2.length;i++)
{
System.out.println(num2[i]);
}
}
}Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at tianju.shuzu.ArrayTest.main(ArrayTest.java:8)eclipse。报告错误是这个
System.arraycopy(num1,0,num2,0,num1.length);
// 应为System.arraycopy(num1,0,num2,0,num2.length); 看看函数原型就知道
int[] num2 = new int[3] ;
System.arraycopy(num1, 0, num2, 0, num1.length);
for (int i = 0; i < num2.length; i++) {
System.out.println(num2[i]);
}
System.arraycopy(num1,0,num2,0,num1.length);
//相当于System.arraycopy(num1,0,num2,0,2); 数组num2从0倒2拷贝到num1从0开始的位置
public class ArrayTest{
public static void main(String[] args)
{
int[] num1 = new int[]{1,2,3}; -->这样写法真怪,改为 int[] num1 = {1,2,3};
int[] num2 = new int[]{3}; -->int[] num2 = {3};
System.arraycopy(num1,0,num2,0,num1.length); -->num1 长度为3,num2为1,num2当然越界啦
-->改法很多,如改之前的int[] num2 ={3,0,0};
for (int i=0;i<num2.length;i++)
{
System.out.println(num2[i]);
}
}
}