条件后无法访问的语句

Unreachable statement after conditional

下面的代码报错:Unreachable statement for current= current.getmNextNode(); 如何解决?

public int indexOf(E element) {

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

    return -1;
}

你在 if 语句和它的主体之间多了一个分号。按照你写的方式,return i; 语句将被执行,而不管条件的结果如何。

public int indexOf(E element) {
  Node current = head;

  for (int i = 0; i < size; i++) {
    if (current.getmElement().equals(element)) {
      return i;
    }

    current= current.getmNextNode();
  }
  return -1;
}