首页 > 解决方案 > 如何在用户定义的类 toString 方法中返回填充的数组项?

问题描述

该方法应该从数组中返回所有已填充的项,但它会返回数组中的最后一项。

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; 
   }

标签: javaarraysclasstostring

解决方案


因为您总是用result最新的替换字符串中 的值

result =  String.format("%d. %s\n", i+1, list[i]);  // replaces the value always with latest 

所以使用 useStringBuilder附加所有值,然后返回它

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(); 
}

推荐阅读