我正在完成一项家庭作业,但却无法弄清楚我做错了什么.
我正在尝试使用ArrayList创建书名列表
到目前为止,这是我的代码:
import java.awt.print.Book;
import java.util.ArrayList;
public class Books {
public static void main (String[] args){
ArrayList<Book> bookTitle = new ArrayList<Book>();
bookTitle.add ("Book title 1");
bookTitle.add ("Book title 2");
bookTitle.add ("Book title 3");
System.out.println("Size of Book list: " + bookTitle.size());
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码在三个bookTitle.add行上给出了以下错误:"ArrayList类型中的方法add(Book)不适用于参数(String)"
那么我试过这个:
Book book1 = new Book("Book title");
bookTitle.add (book1);
Run Code Online (Sandbox Code Playgroud)
这给了我一个"构造函数Book(String)未定义"错误.
请记住,我是Java的菜鸟,所以我可能正在做一些非常基本的错误而没有意识到这一点.
非常感谢您的帮助和时间.
ArrayList类型中的方法add(Book)不适用于参数(String).
这是因为,你可以看到在你的泛型类型ArrayList<Book> bookTitle = new ArrayList<Book>();
就是Book但你添加String在BOOKTITLE价值,bookTitle.add ("Book title 1");
尝试 ArrayList<String> bookTitle = new ArrayList<String>();
如果您仍想使用Booknot String,则创建一个Book类,例如:
public class Book{
private String bookName;
public Book(){}
public String getBookName() {
return bookName;
}
public void setBookName(String bookName) {
this.bookName = bookName;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在你的主要方法尝试:
Book book1 = new Book();
book1.setBookName("Book title 1");
ArrayList<Book> bookTitle = new ArrayList<Book>();
bookTitle.add (book1);
for(Book b :bookTitle){
System.out.println(b.getBookName());
}
Run Code Online (Sandbox Code Playgroud)
注意:删除 import java.awt.print.Book;
| 归档时间: |
|
| 查看次数: |
4628 次 |
| 最近记录: |