[英]IndexOf method Java
我的方法indexOf
應該返回列表中指定元素第一次出現的索引,如果此列表不包含該元素,則返回 -1。 更正式地:返回最低索引i
使得 ( E == null ? get(i) == null : E.equals(get(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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.