Java实现int链表类时toString方法末尾多余逗号空格如何修复
问题原因
你当前的toString方法遍历每个节点时都会在数值后拼接, ,因此遍历完所有节点后末尾会多出多余的逗号和空格。
修复方案
推荐使用StringBuilder实现字符串拼接,不仅性能更高,也可以灵活控制分隔符的输出,同时兼容空链表、单元素链表等边界场景,修改后的代码如下:
public String toString() { StringBuilder sb = new StringBuilder(); sb.append("["); Node ptr = head; // 标记是否是第一个元素 boolean isFirst = true; while (ptr != null) { if (!isFirst) { // 非第一个元素,先加分隔符 sb.append(", "); } sb.append(ptr.value); isFirst = false; ptr = ptr.nextNode; } sb.append("]"); return sb.toString(); }
逻辑说明
- 第一个元素直接追加数值,前面不加
,,避免开头出现多余分隔符 - 从第二个元素开始,先追加
,再追加数值,保证所有元素之间只有一处分隔符,末尾不会留下多余的分隔符 - 空链表时会直接返回
[],符合预期格式
内容的提问来源于stack exchange,提问作者user16854661
相关产品推荐
相关产品推荐

