2 回答
TA贡献1798条经验 获得超7个赞
您的类LinkedList(建议您重命名它,因为它可能与混淆java.util.LinkedList)需要重写method Object::toString,该方法在打印到控制台中被调用。
我在java.util.LinkedList类中没有找到toString()。
有点侦探性的工作-您必须单击LinkedList<E>扩展的源代码,然后再扩展AbstractSequentialList<E>,AbstractList<E>最后扩展AbstractCollection<E>(源代码)类,在该类中,重写的Object::toString方法负责所有元素的类似于字符串的表示形式。在那里您可以得到启发。
如何制作代码以打印LinkedList的内容?
这条路:
@Override
public String toString() {
StringBuilder sb = new StringBuilder("[");
if (first != null) {
Node temp = first;
String sep = "";
while (temp != null) {
sb.append(sep).append(temp.value);
temp = temp.next;
sep = ", ";
}
}
return sb.append(']').toString();
}
TA贡献2003条经验 获得超2个赞
例如,您必须创建自己的toString方法
class LinkedList {
//...
@Override
public String toString() {
StringBuilder text = new StringBuilder("[");
String del = "";
if (first != null) {
do {
text.append(del).append(first.value);
first = first.next;
del = ", ";
} while (first != null);
}
text.append(']');
return text.toString();
}
}
如果再次运行代码,则输出
[1, 2]
添加回答
举报