gpt4 book ai didi

java - Java 的 IndexOf 方法

转载 作者:行者123 更新时间:2023-12-01 19:29:18 24 4
gpt4 key购买 nike

我的方法indexOf应该返回列表中指定元素第一次出现的索引,如果该列表不包含该元素,则返回-1。更正式地说:返回满足 (E == null ? get(i) == null : E.equals(get(i))) 的最低索引 i,或者如果没有这样的索引,则为 -1。这段代码的问题是它似乎总是返回-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)

关于java - Java 的 IndexOf 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60268076/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com