我在尝试复制数组时遇到了问题,但我看起来却无法弄清楚如何摆脱我的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) );
}
}
答案 0 :(得分:9)
int [] sortedArray = {array.length};
这不会创建长度为array.length
的数组。这将创建一个包含一个元素的新数组。
相反,创建一个像这样的新数组(aka:no initializer)
int[] sortedArray = new int[array.length];