向集合中添加toString()的java帮助
我正在从main()添加信息 我正在为CD、DVD、书添加不同的信息
我有3个独立的类-项目中有3个类
project-main()
库-此函数执行所有添加操作
项目(cd、dvd、书籍)继承
对于音乐,我添加了乐队信息、标题信息、关键词和成员。。 我添加的成员与其他信息不同
正如你所看到的,这些成员没有像其他成员一样输出正确
>>> music CDs:
-Music-
band: Jerry Garcia Band
# songs: 15
members: [Ljava.lang.String;@61de33
title: Don't Let Go
C:\Java\a03>
我对成员使用的toString()函数与其他成员相同,所以我不确定它为什么会这样做
我会给你我认为你需要看到的尽可能多的信息
Main()-如您所见,它调用了两个不同的函数
AddBand成员是我遇到问题的地方
out.println(">>> adding items to library:\n");
item = library.addMusicCD("Europe In '72", "Grateful Dead", 12, "acid rock", "sixties", "jam bands");
if (item != null) {
library.addBandMembers(item, "Jerry Garcia", "Bill Kreutzman", "Keith Godcheaux");
library.printItem(out, item);
}
在Library类中,这里是addbandmember函数
这可能是原因吗
public void addBandMembers(Item musicCD, String... members)
{
((CD)musicCD).addband(members);
}
在Items类中,函数addband-tostring()
下面是CD类,它扩展了items类
class Item
{
private String title;
public String toString()
{
String line1 = "title: " + title + "\n";
return line1;
}
public void print()
{
System.out.println(toString());
}
public Item()
{}
public Item(String theTitle)
{
title = theTitle;
}
public String getTitle()
{
return title;
}
}
class CD extends Item
{
private String artist;
private String [] members;
private int number;
public CD(String theTitle, String theBand, int Snumber, String... keywords)
{
super(theTitle);
this.artist = theBand;
this.number = Snumber;
}
public void addband(String... member)
{
this.members = member;
}
public String getArtist()
{
return artist;
}
public String [] getMembers()
{
return members;
}
public String toString()
{
return "-Music-" + "\n" + "band: " + artist + "\n" + "# songs: " + number + "\n" + "members: " + members + "\n" + "\n" + super.toString() + "\n";
}
public void print()
{
System.out.println(toString());
}
}
在items类中,我确实有其他信息,比如nook类,movie类,但我没有展示。我想把一切都保持原样
所以,如果其他项目的打印比可能是在addbandmember函数中的演员阵容给我带来了问题
# 1 楼答案
数组没有有用的
toString()
实现。您可以打印循环中的成员,也可以使用Arrays.toString()方法为您执行以下操作: