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;
}
}
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.
I would do something like this, no need to loop through the list of dogs (a
List.toString
already does that for you).An arraylist is a dynamic array filled with Objects. Why don't you overwrite the toString method in the Dog class.
You are close. The easiest way I can think of is to also implement
toString()
forDog
. Then in yourDogManager
class you can loop through eachDog
and call itstoString()
.ie:
edit: You can also format it however you like. I notice some answers separate each Dog by ","
You need to define
.toString()
method in yourDog
class and make it override the default.toString()
method ofObject
class.Then you can simply call
System.out.println(dog)
for each element of the array and your custom text defined in dog's.toString()
method will be displayed.