该方法应该返回数组中所有已填充的项目,但是,它返回数组中的最后一个项目。
public String toString() {
String result = "";
for( int i = 0; i < list.length; i++ )
{
result = String.format("%d. %s\n", i+1, list[i]);
}
return result;
}
因为您总是将result
字符串中的值替换为最新的
result = String.format("%d. %s\n", i+1, list[i]); // replaces the value always with latest
因此,请使用StringBuilder
附加所有值,然后将其返回
public String toString() {
StringBuilder builder = new StringBuilder();
for( int i = 0; i < list.length; i++ )
{
builder.append(String.format("%d. %s\n", i+1, list[i]));
}
return builder.toString();
}