Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将书本对象添加到ArrayList_Java_Arraylist - Fatal编程技术网

Java 将书本对象添加到ArrayList

Java 将书本对象添加到ArrayList,java,arraylist,Java,Arraylist,我正在编写一个BookStore类,它使用我现有的book类和author类中的一些对象。现在我有一个空的arraylist需要填充。问题是我必须在书店类而不是测试类中这样做。如何将book对象添加到此arraylist中?然后它说我应该写一个获取书籍的方法。我不确定我下一步该怎么做,我已经搜索了很多,但仍然没有找到任何类似的东西 import java.util.*; public class BookStore { //we will store Book object referen

我正在编写一个BookStore类,它使用我现有的book类和author类中的一些对象。现在我有一个空的arraylist需要填充。问题是我必须在书店类而不是测试类中这样做。如何将book对象添加到此arraylist中?然后它说我应该写一个获取书籍的方法。我不确定我下一步该怎么做,我已经搜索了很多,但仍然没有找到任何类似的东西

import java.util.*;
public class BookStore
{
   //we will store Book object references in this 
   private ArrayList<Book> books;


   /*NB: Our reference (books) doesn't refer to anything
   **when it is declared so our default constructor
   **makes it refer to an empty arraylist*/
   public BookStore()
   {
      books = new ArrayList<Book>();
   }

   public void addBook(Book bookToAdd) 
   {
      ArrayList<Book> Book1 = new ArrayList<Book>();
      if (bookToAdd != null) 
      {  
         int noOfBooks = 0;
         noOfBooks++; //increasing this counter                
      }// end if
   } // end addBook
}
使用add方法将书籍添加到列表中:

public void addBook(Book bookToAdd) {
    books.add(bookToAdd);
}
不要用noOfBooks来计算书的数量。 在books数组列表本身中已经有此信息,请参见books.size

并且不要使用null参数调用此方法。 这对一本空书来说毫无意义。 在这种情况下,您可能希望抛出一个异常来提醒调用方他正在做一些奇怪的事情,例如:

public void addBook(Book bookToAdd) {
    if (bookToAdd == null) {
        throw new IllegalArgumentException("The book to add should not be null");
    }
    books.add(bookToAdd);
}

books.addbookToAdd;您应该使用成员类手册,而不是在方法内创建新的手册,因为其范围仅限于该方法。然后,您只需为类getter和setter提供一个变体。