首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确使用以Book为参数的removeBook(Book)方法

如何正确使用以Book为参数的removeBook(Book)方法
EN

Stack Overflow用户
提问于 2021-11-06 14:10:32
回答 1查看 86关注 0票数 0

我被要求创建一个名为removeBook(Book)的方法,该方法以Book作为参数。我有两个类LibraryBook,我在Library类中使用了一个ArrayList<Book>和一个Iterator<Book>

我遇到的问题是,我不确定如何引用我想要删除的书。

例如:

如果参数是removeBook(String aTitle),那么我可以使用x.getTitle();来匹配标题并删除那本书。

但因为这个论点是一本书,我不知道该怎么做。

下面是我的方法:

代码语言:javascript
复制
public void removeBook(Book nameOfBook) {

    Iterator<Book> it = books.iterator();

    while(it.hasNext()) {
        Book t = it.next();
   
        (An Identifier) id = //Some reference to the book I want to remove??

        if(id.equals(nameOfBook))
        {
            it.remove();
        }
        else
        {
            System.out.println("Book not found");
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-11-06 14:15:22

您可能希望在Book对象中实现一个equals()方法,该方法允许您自定义哪些条件必须为真,以确定是否找到了要从列表中删除的正确Book。请参阅https://www.sitepoint.com/implement-javas-equals-method-correctly/

equals()方法中,假设没有更多的唯一字段,您可能希望检查title和author是否匹配。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69864718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档