【发布时间】:2014-03-08 17:02:24
【问题描述】:
我正在尝试使用 int 来初始化 Comparable 数组以确定初始化数组的大小。但是,在我初始化数组后,数组为空。如果我尝试将东西添加到数组中,我会得到一个 NPE。
下面是一些相关代码(我意识到它不是类型安全的,这不是问题)
public class Heap implements MyHeap{
int capacity;
int size;
Comparable[] heap;
public void Heap(){
size = 0;
capacity = 10;
heap = new Comparable[capacity];
}
public void printHeap(){
for (int i = 1; i <= size; i++){
System.out.println(heap[i]);
}
}
public void insert (Comparable object){
size++;
heap[size] = object;
bubbleUp(size);
}
编辑:我更改了代码以反映第一个答案的建议。在使用该 int 初始化我的数组之前,我设置了 int 容量的值,并且该数组仍然为空并且具有空长度。我什至使用 int 作为参数而不是变量容量来初始化数组,我得到了相同的行为。
【问题讨论】:
标签: arrays nullpointerexception initialization