如何为对象的ArrayList创建toString方法?

use*_*721 4 java arraylist

我的任务是toString()为中的每个对象创建一个方法ArrayList。我不知道该怎么做。这是具有ArrayList

public class DogManager {
    private ArrayList<Dog> dogList;

    public DogManager() {
        this.dogList = new ArrayList<Dog>();
    }

    public void addDog(String nameOfDog) {
        this.dogList.add(new Dog(nameOfDog));
    }

    public String toString() {
        String results = "+";
        for (int i = 0; i < this.dogList.size(); i++) {
            results += " " + this.dogList.get(i);
        }
        return results;
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道这toString()是错误的,但是我不知道如何使它返回该列表中每个对象的描述。

tre*_*r-e 5

你近了 我能想到的最简单的方法是,也能实现toString()Dog。然后,在您的DogManager课程中,您可以遍历每个课程Dog并调用其toString()

即:

public String toString() {
    String results = "+";
    for(Dog d : dogList) {
        results += d.toString(); //if you implement toString() for Dog then it will be added here
    }
    return results;
  }
}
Run Code Online (Sandbox Code Playgroud)

编辑:您也可以根据需要设置其格式。我注意到一些答案用“,”分隔每只狗