如何在java中的String toString()方法中插入一个循环

时间:2014-04-07 20:51:01

标签: java

我希望在String toString()方法中传递一长串结果,这是我的代码

public void newlist(){
    for(int i = 0 ; i <= nbComposant;i++){
        System.out.print(ref+i+" (quantity  "+quantity+i+")");
    }
}

public String toString(){
    return newlist();
}

它出了什么问题?

2 个答案:

答案 0 :(得分:3)

public String toString(){
        StringBuilder builder = new StringBuilder(256); 
        for(int i = 0 ; i <= nbComposant;i++){
            builder.append(ref).append(i).append(" (quantity  ").append((quantity+i)).append(")");
        }
        return builder.toString();
}

你不需要单独的方法。使用Stringbuilder而不是&#34; +&#34; 。尽管最近的JVM转换为Stringbuilder,但最好还是编写它。

我不知道你的例外结果字符串是什么。我刚从你的问题中复制过来。

答案 1 :(得分:1)

public String newlist(){
  StringBuilder sb = new StringBuilder();
    for(int i = 0 ; i <= nbComposant;i++){
        sb.append(ref+i+" (quantity  "+quantity+i+")");
    }
   return sb.toString();
}
public String toString(){
    return newlist();
}