private Comparable[] items = new Comparable[1000000];
bubbleSort(items);
public static <T extends Comparable<T>> void bubbleSort(T[] list){
T temp;
for (int k = 1; k < list.length; k++) {
// Perform the kth pass
for (int i = 0; i < list.length - k; i++) {
if (list[i].compareTo(list[i + 1]) > 0){
temp = list[i];
list[i] = list[i + 1];
list[i + 1] = temp;
}
}
}
}
我遇到的问题是if (list[i].compareTo(list[i]) > 0)
。我已经评论了所有内容,一次一行。这是导致错误的唯一因素,并没有在输出中给出任何解释。它是哪条线。它将在if,并调用bubbleSort方法。
答案 0 :(得分:0)
private Comparable[] items = new Comparable[1000000];
此行不初始化数组中的任何元素。您在每个广告位中都有null
,因此您的NullPointerException
。
或许你只是没有发布初始代码,但问题就在那里。