我正在建立一个indexOf方法。

它返回对象的索引。

public int indexOf(Token obj) {
    int store = 0;
    int tempIndex = 0;
    Node nodeRef = head;
    while(nodeRef.next != null ){
        tempIndex++;
        if(obj.equals(nodeRef.getObject())){
            store = tempIndex;
        }
        nodeRef = nodeRef.next;
    }
    System.out.println("Index");
    return store;
    }


我的问题是它没有查看最后一个对象,因为最后一个对象.next引用为null(自然)。我可以看到问题,但解决方案困扰着我。我尝试添加类似的东西;

if(nodeRef.next == null && obj.equals(nodeRef.getObject())){
     tempIndex++;
     store = nodeRef.next
}


似乎没有帮助。

任何帮助,将不胜感激。

最佳答案

将循环条件更改为

while(nodeRef != null ){

这基本上应该解决它。

10-05 21:48