Java总是出现nullpointerexception,求大神解答为啥和修改
自己写的一个代码块,错误在 if (curr.next==null),讲真我就是为了避免curr.next为null才写这个if的。。。
public void remove(E data) {
Node<E> temp=new Node<E> (data);
if (head != null){
if (data.compareTo(head.data) == 0){
head = head.next;
}
}
head = remove(head, temp);
if (head == null){
return;
}
return;
}
private Node<E> remove(Node<E> curr, Node<E> node){
if (curr.next==null){
return null;
}
if (node.data.compareTo(curr.next.data)==0){
curr.next = curr.next.next;
return curr;
}
curr.next = remove(curr.next, node);
return curr.next;
}
public void remove(E data) {
Node<E> temp=new Node<E> (data);
if (head != null){
if (data.compareTo(head.data) == 0){
head = head.next;
}
}
head = remove(head, temp);
if (head == null){
return;
}
return;
}
private Node<E> remove(Node<E> curr, Node<E> node){
if (curr.next==null){
return null;
}
if (node.data.compareTo(curr.next.data)==0){
curr.next = curr.next.next;
return curr;
}
curr.next = remove(curr.next, node);
return curr.next;
}
...全文
相关推荐
Java语言程序设计第8版 习题解答+例题代码
同时,Java提供了丰富的内置异常类型,如IOException、NullPointerException等,便于开发者进行错误处理。
八成Java开发者解答不了的问题
如果一个变量被多个线程同时修改,不使用synchronized关键字可能会导致数据不一致。正确理解volatile和synchronized的区别是解答这类问题的关键。3.
Java常见面试题解答.pdf
**反射的用途及实现**:反射机制允许程序在运行时访问和修改程序结构,使用java.lang.reflect包中的类实现。11.
Java程序设计问题解答
理解并熟练掌握这些基本概念是成为一名合格的 Java 开发者的基础,通过不断练习和实践,能够提升编程技能和解决问题的能力。
Java语言程序设计课后习题解答_ 许天龙_第7章
【Java语言程序设计课后习题解答 - 第7章 多线程与异常处理】Java引入线程机制是为了提高程序的并发性和运行效率。线程是程序中的执行流,允许同一程序内执行多个任务,降低了资源消耗。


Java SE
