我想出了所有的想法。所以我有一个链表,其中每个节点本身都是一个字符串,我想返回一个新的Ob对象,使其反转。例如,如果原始节点有两个节点," abcd"和" def",结果将是" fed"和" dcba" (而不是" def"和#34; abcd")。 myFirst是我之前定义/初始化并引用头部的变量。我想我可能有一些类型的问题,因为它告诉我,而不是[feddcba]我得到[Ob $ Node @ 4465dade] ...我估计与记忆有关吗?由于Ob实现了Obj,我知道问题不在于返回Ob对象而不是Obj(实际上它在指南中用于返回新创建的Ob对象)。
public Obj reverse() {
Node before = null;
Node tmp = myFirst;
while (tmp != null) {
StringBuilder copy = new StringBuilder(tmp.info);
copy.reverse();
String str = new String(copy.toString());
tmp.info = str;
Node next = tmp.next;
tmp.next = before;
before = tmp;
tmp = next;
}
Ob ret = new Ob(before.toString()); //note Ob implements Obj
return ret;
}
非常感谢任何帮助!
答案 0 :(得分:0)
在java中,打印对象会打印对象的哈希码Ob $ Node @ 4465dade。我想你会想要调用对象的toString方法来获取值feddcba。