如何修复ArrayIndexOutOfBoundsException

时间:2014-10-13 19:04:08

标签: java

我在尝试复制数组时遇到了问题,但我看起来却无法弄清楚如何摆脱我的outofboundsexception。帮助将不胜感激。

import java.util.Arrays;
public class project {
public static void main(String[] args) {
   int [] array = {1, 8, 9, 6, 7, 3, 4, 5, 10, 2};
   int [] sortedArray = {array.length};
   System.arraycopy(array, 0, sortedArray, 0, array.length);
   Arrays.sort(sortedArray);
   System.out.println("Before the sort: " + Arrays.toString(array) );
   System.out.println("After the sort: " +  Arrays.toString(sortedArray) );

}
}

1 个答案:

答案 0 :(得分:9)

int [] sortedArray = {array.length};

这不会创建长度为array.length的数组。这将创建一个包含一个元素的新数组。

相反,创建一个像这样的新数组(aka:no initializer)

int[] sortedArray = new int[array.length];