You need to append the String to the return value. But in this case, using StringBuilder matches what you want to do. That's not good for performance because "+" creates new String instance every time it's called.
public String toString() {
StringBuilder sb = new StringBuilder("Contents of list: {");
appendRecursion(sb, 0);
return sb.toString();
}
private void appendRecursion(StringBuilder result, int pos) {
if (pos != size()) {
rotate();
result.append(get().getData()).append(",");
pos = pos + 1;
appendRecursion(result, pos);
}
}