如何为对象的ArrayList创建toString方法? [英] How do I create a toString method for an ArrayList of objects?
问题描述
我的任务是为ArrayList
中的每个对象创建一个toString()
方法.我不知道该怎么做.这是带有ArrayList
I am tasked with creating a toString()
method for each and every object in an ArrayList
. I have no idea how to go about doing this. This is the class with the 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;
}
}
我知道toString()
是错误的,但是我不知道如何使它返回该列表中每个对象的描述.
I know the toString()
is wrong, but I can't figure out how to make it return a description for each of the objects in that list.
推荐答案
您很亲密.我能想到的最简单的方法是同时为Dog
实现toString()
.然后,在您的DogManager
类中,您可以遍历每个Dog
并调用其toString()
.
You are close. The easiest way I can think of is to also implement toString()
for Dog
. Then in your DogManager
class you can loop through each Dog
and call its 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;
}
}
您也可以根据需要设置其格式.我注意到一些答案用,"分隔每只狗.
edit: You can also format it however you like. I notice some answers separate each Dog by ","
这篇关于如何为对象的ArrayList创建toString方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!