我有一个由不同类型组成的数组列表。我想使用数组列表中的get方法从指定索引中仅提取一个元素
public BookCollection() {
collection = new ArrayList<Book>(10);
}
public void addbook(String title, String author, int year, double cost, boolean Available) {
Book a = new Book(title, director, year, cost, Available);
collection.add(a);
}
在上面的代码中,我想创建一个书库,但是在某些时候,我只想要书名。
public static void main(String[] args) {
BookCollection library = new BookCollection();
library.addbook("Pride & Prejudice", "Jane Austen", 1801, 24.95, true);
System.out.println(collection.get(0).toString())
}
然后我只想获得标题。因此,在这种情况下,这将是“傲慢与偏见”。目前,输出是“ Pride&PrejudiceJane Austen180124.95” 但我希望它只是“傲慢与偏见”。
答案 0 :(得分:2)
collection.get(0).getTitle()
?
答案 1 :(得分:0)
技嘉的答案是正确的。您应该在Book类中为每个字段创建getter方法,以便可以随时调用。
您还应该检查Java规则和约定,在这种特殊情况下,变量和方法名称应以小写字母开头,因此应从“可用”切换为“可用”。
大写字母用于课程。
我尝试了您的代码并找到了解决方案,希望它适合您:
这是BookCollection类:
no-repeat
这是Book类,带有getter和setter:
public class BookCollection extends ArrayList<Book>{
private static final long serialVersionUID = 1L;
private ArrayList<Book> collection;
public BookCollection() {
this.collection = new ArrayList<Book>();
}
public void addbook(String title, String author, int year, double cost, boolean available) {
Book a = new Book(title, author, year, cost, available);
this.add(a);
}
public static void main(String[] args) {
BookCollection library = new BookCollection();
library.addbook("Pride & Prejudice", "Jane Austen", 1801, 24.95, true);
System.out.println(library.get(0).isAvailable());
}
}