有问题添加到集合

时间:2010-02-16 22:57:12

标签: java

我正在添加有关不同书籍的信息,cd,dvd from main() 我想在这个项目中使用继承...

首先,我是初学者,所以当你帮助我时请记住这一点。请尽量保持简单..我会在需要帮助的地方发布部分代码然后我会在底部发布完整的代码..

现在在项目类

我不确定我对传入的项目做了什么?

class CD extends Item
{

private String artist;
private String members;
private int number;

public CD(Item musicCD, String... members)  // need help
{
    members = members;

}

请记住我是java新手。 谢谢..

2 个答案:

答案 0 :(得分:3)

这可能是一个功课问题,但我认为你在理解很多较小的概念之前就已经开始了。如果这是一本书,你可能想先做一些简单的练习。构建此系统涉及的概念太多,您可能不熟悉。

快速浏览一下,这里有几个问题:

1)我没看到你在哪里初始化你的套装。现在,它们将为null - 您只是声明了它们。您可能需要一个hashset或treeset。

2)您的各种类不支持equals或hash代码,当您插入并尝试检索它们时,您会看到问题。

3)添加乐队成员不应该创建新CD - 您已经传入CD,或者至少可以使用ID来查找集合中的CD。

4)CD的构造函数搞砸了。例如,你为什么要把CD项作为第一个参数?此外,您可能没有正确设置成员。尝试类似this.members = members

的内容

答案 1 :(得分:0)

由于您使用HashSets,您需要覆盖等于@Uri指出的equals和hashcode方法。这是一篇很好的文章,里面有这样做的例子。它值得一读,所以你确切知道你在做什么。

Equals and Hash Code in Java