gpt4 book ai didi

java - 集合和哈希集 Java

转载 作者:行者123 更新时间:2023-11-29 06:33:22 26 4
gpt4 key购买 nike

我是 Java 语言的新手,并且有一个我正在为学校做的项目,其中我有一个 Book 类,该类具有此类的正常 setter / getter 、构造函数和覆盖,没有什么复杂的。我必须更改它,以便我可以通过使用 Set 和 HashSet 来获得多个作者。我的问题是我将如何去做这件事?到目前为止,如果我错了请纠正我,我有这个

import java.util.*;

public class Book{

private Set<String> authorSet;
private String isbn;

public Book(){
authorSet = null;
isbn = null;
}

public Book(String isbn, Set<String> authorSet){
this.isbn = isbn;
Set<String> s = new HashSet<String>();

// Do I do anything else here?
}

public String getIsbn(){
return isbn;
}

public void setIsnb(String isbn){
this.isbn = isbn;
}

public Set<String> getAuthorSet(Set<String> newAuthorSet{
return newAuthorSet;
}

public void setAuthorSet(Set<String> newAuthorSet){
this.authorSet = newAuthorSet;
}

在继续覆盖之前,我想确保我正确地获得了它。我试图寻找类似的例子,这样我就可以看到发生了什么,但到目前为止我还没有太多运气。我敢肯定这很简单,但我才刚刚开始学习这门语言。感谢您的帮助

最佳答案

首先,在你的默认构造函数中,去掉

authorSet = null;

然后将您的 authorSet 变量初始化为一个新的 HashSet。这样做的原因是无论是否添加了任何作者,您都希望创建 authorSet 容器。

您可能需要一个只接受 isbn 字符串的构造函数。还要考虑一个采用 isbn 字符串和可变数量的作者字符串的构造函数。


啊,我错过了这个:

  public Book(String isbn, Set<String> authorSet){
this.isbn = isbn;
Set<String> s = new HashSet<String>();

// Do I do anything else here?
}

不好,因为您同时忽略了参数和字段!相反,将设置参数分配给现有字段,就像您对任何其他字段所做的那样。

  public Book(String isbn, Set<String> authorSet){
this.isbn = isbn;
this.authorSet = authorSet;
}

然后给你的类一个 addAuthor(String author) 方法。因为这是家庭作业,所以您最好编写代码。关于这个问题,我真的不认为你需要更多的东西。

关于java - 集合和哈希集 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26820899/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com