나는 모두 아이디어가 없습니다. 그래서 각 노드 자체가 문자열 인 연결된 목록을 가지고 있으며, 그것을 역전시킨 새로운 Ob 객체를 반환하고자합니다. 예를 들어 원본에 두 노드, "abcd"및 "def"가있는 경우 결과는 "fed"및 "dcba"가됩니다 ("def"및 "abcd"와 반대). myFirst는 내가 먼저 정의/초기화하고 머리를 참조하는 변수입니다. 나는 그것이 [feddcba] 대신에 [Ob $ Node @ 4465dade]를 얻는다는 것을 말하고 있기 때문에 어떤 유형 문제가있을 수 있다고 생각합니다. 추측 된 기억과 관련이 있습니까? Ob은 Obj를 구현했기 때문에 Obj와 반대로 Ob 객체를 반환하는 것이 문제가 아니라는 것을 알고 있습니다. (실제로 새로 생성 된 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;
}
어떤 도움을 주실 수 있습니까?
코드에 [mcve]가 없으므로 답변에 추측이 필요합니다. 'Node'가'toString()'을 오버라이드하지 않는다고 가정합니다. 그것해야합니다. – c0der