다음 코드를 실행하면 Null Pointer Exception이 발생합니다. 나는 그것이 왜 일어나고 있는지를 알 수 없다.java의 다음 코드에서 Null Pointer Exception을 일으키는 원인은 무엇입니까?
public class LinkedList<T> {
private Link head = null;
private int length = 0;
public T get(int index) {
return find(index).item;
}
public void set(int index, T item) {
find(index).item = item;
}
public int length() {
return length;
}
public void add(T item) {
Link<T> ptr = head;
if (ptr == null) {
// empty list so append to head
head = new Link<T>(item);
} else {
// non-empty list, so locate last link
while (ptr.next != null) {
ptr = ptr.next;
}
ptr.next = new Link<T>(item);
}
length++; // update length cache
}
// traverse list looking for link at index
private Link<T> find(int index) {
Link<T> ptr = head;
int i = 0;
while (i++ != index) {
if(ptr!=null) {
ptr = ptr.next;
}
}
return ptr;
}
private static class Link<S> {
public S item;
public Link<S> next;
public Link(S item) {
this.item = item;
}
}
public static void main(String[] args) {
new LinkedList<String>().get(1);
}
}
감사합니다. 그것은 그것을 명확하게합니다. –