我正在开发一个Java程序,我有一个名为“CD”的ArrayList,在这张CD中有“Songs”,每首歌都是我的Song类中的一个对象,它有参数:String artist, String album和int year。关于如何打印这样的任何一般性建议,以便它还打印每首歌的内容?
P.S。我知道这里有类似的问题,但是我仍然无法准确地打印出我想要它的内容,并且我尝试使用迭代器。
提前感谢您的帮助!
答案 0 :(得分:1)
您需要在#
课程中实施toString()
方法。
如果没有实现此方法,Java将只打印对象的引用地址。
对于Song
课程,Song
方法可能如下所示:
toString()
之后,您只需打印数组即可
public String toString(){
return "Artist:"+artists+", Song name:"+ songName+", Album:"+album+", Year:"+year;
}
答案 1 :(得分:1)
在Song类中写为toString()方法
public String toString()
{
return artist + " " + album + " " + year;
}
然后调用方法toString()。示例System.out.println(MyList.toString())
答案 2 :(得分:1)
只需使用foreach
for (Song s:CD) {
System.out.println(s);
}
在Song课程中,添加以下内容:
public String toString() {
return artist+" "+album+" "+year;
}
当您打印对象时,打印机首先查看toString方法,该方法由Object类中的每个对象继承。覆盖toString方法,更改给定对象的表示。
最后,我建议你的歌曲有一个字段" name"。我的意思是,这不是可打印数据中最重要的部分吗?
答案 3 :(得分:1)
您还可以在Songs类上使用Lombok @ToString注释。如果你觉得自己懒得编写自己的toString方法。