打印一个充满新类型对象的数组列表

时间:2017-12-05 08:01:41

标签: java class arraylist iterator

我正在开发一个Java程序,我有一个名为“CD”的ArrayList,在这张CD中有“Songs”,每首歌都是我的Song类中的一个对象,它有参数:String artist, String album和int year。关于如何打印这样的任何一般性建议,以便它还打印每首歌的内容?

P.S。我知道这里有类似的问题,但是我仍然无法准确地打印出我想要它的内容,并且我尝试使用迭代器。

提前感谢您的帮助!

4 个答案:

答案 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方法。