java中的toString()方法
toString方法返回一个字符串,该字符串包含列表中所有节点的项,并用逗号分隔。如果列表是循环的,当前版本将无法正常工作,我需要修复该方法,以便它能够正确地用于普通列表和循环列表。但是我正在为我当前的代码而挣扎java中的toString()方法,java,linked-list,Java,Linked List,toString方法返回一个字符串,该字符串包含列表中所有节点的项,并用逗号分隔。如果列表是循环的,当前版本将无法正常工作,我需要修复该方法,以便它能够正确地用于普通列表和循环列表。但是我正在为我当前的代码而挣扎 public String toString(){ String str = ""; Node current = head; while(current != null){ str = str + current.getItem();
public String toString(){
String str = "";
Node current = head;
while(current != null){
str = str + current.getItem();
current = current.next();
if (current != null){
str = str + ", ";
}
}
return str;
}
您就快到了:只需在调用
current.next()后检查current
是否为head
:
在将,“
添加到str
之前,必须先断开循环
注意:使用+=
组合字符串是次优的,尤其是在循环()中。考虑切换到<代码> StringBuilder < /代码>().< /P>
current = current.next();
if (current == head) {
break;
}