java - Java 中删除第一次发生的方法

标签 java object

link.removeFirstOccurrence(new Integer(9));

这就是我的教授想要的,但只有当我传递像 link.removeFirstOccurrence(9); 这样的值时它才有效。有什么建议吗?

public boolean removeFirstOccurrence(Object obj) { 
    DNode<E> current = head;
    DNode<E> temp = null;

    if(current != null && current.data == obj) {
        head = current.next;
        return true;

    }
    while(current != null && current.data != obj) {
        temp = current;
        current = current.next;
    }
     if(current == null) {
         return false;
     }

     temp.next = current.next;
     current.next.previous = current.previous;

     return true;
  }

最佳答案

您的代码在 Java 对象比较方面存在问题。要比较值,对于原始数据类型可以使用“==”运算符,但对于非原始数据类型必须使用“equals()”方法

以下是更新的代码:

public boolean removeFirstOccurrence(Object obj) {
    DNode<E> current = head;
    DNode<E> temp = null;

    if (current != null && current.data != null && current.data.equals(obj)) {
        head = current.next;
        return true;

    }
    while (current != null && current.data != null && !current.data.equals(obj)) {
        temp = current;
        current = current.next;
    }
    if (current == null || current.data == null) {
        return false;
    }

    temp.next = current.next;
    current.next.previous = current.previous;

    return true;
}

关于java - Java 中删除第一次发生的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60499167/

相关文章:

Javascript 对象子引用

javascript - 如何在 JavaScript 的构造函数中重写继承对象的属性?

javascript - 我试图理解 Javascript 中的这段嵌套对象

java - 如何解析html并保留所有换行符?

Java:在 Windows 上使用相对目录路径

java - 需要帮助创建类以反向返回名称并返回缩写

javascript - 读取JavaScript对象需要JSON转换

java - 线程 : Retrieving then executing object from ArrayList

java - 测试自定义Spring Boot自动配置是否有效

javascript - 构造函数。无法覆盖对全局变量的引用