IndexOf 方法 Java

IndexOf method Java

我的方法 indexOf 应该 return 指定元素在列表中第一次出现的索引,如果此列表不包含该元素,则为 -1。更正式地说:returns 最低索引 i 使得 (E == null ? get(i) == null : E.equals(get(i))),或者 -1 如果没有这样的索引。这段代码的问题是它似乎总是 return -1,关于如何解决这个问题有什么建议吗?

 public int indexOf(E element) {

    Node current = head;
    int index = 0;
    for (int i = 0; i < size; i++) {
        if (current.getmElement() == element) {
            return index;
        }
        index++;
        current = current.getmNextNode();
    }
    return -1;
}

我正在使用泛型来查找列表中的下一个元素:

public class Node<E> {
private E mElement;
private Node<E> mNextNode;

Node(E data) {

    this.setmElement(data);
}
public E getmElement() {
    return this.mElement;
}
public void setmElement(E element) {
    this.mElement = element;
}
public Node<E> getmNextNode()
{
    return this.mNextNode;
}
public void setmNextNode(Node<E> node)
{
    this.mNextNode = node;
}}

您正在做参考调查:current.getmElement() == element。你的意思是检查这些对象是否相等:

current.getmElement().equals(element)