使用Get方法仅提取数组列表中索引的某些部分

时间:2018-10-22 12:07:07

标签: java arraylist

我有一个由不同类型组成的数组列表。我想使用数组列表中的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” 但我希望它只是“傲慢与偏见”。

2 个答案:

答案 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());
}
}