为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

胡子哥哥 2021-12-01 16:43:51
我有一个由不同类型组成的数组列表。我想使用数组列表中的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())}然后我只想得到标题。所以在这种情况下,它会是傲慢与偏见。目前输出是“傲慢与偏见Jane Austen180124.95”但我希望它只是“傲慢与偏见”。
查看完整描述

2 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

collection.get(0).getTitle()

?


查看完整回答
反对 回复 2021-12-01
?
慕慕森

TA贡献1856条经验 获得超17个赞

技嘉的回答是对的。您应该在 Book 类中为每个字段创建 getter 方法,以便您可以随时单独调用。


您还应该检查 Java 规则和约定,在这种特殊情况下,变量和方法名称应该以小写字母开头,因此您应该从“Available”切换到“available”。


大写字母用于类。


我尝试了您的代码并找到了解决方案,希望它适合您:


这是 BookCollection 类:


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());

}

}

这是 Book 类,带有 getter 和 setter:


public class Book {


private String name;

private String author;

private int year;

private double cost;

private boolean available;


public Book(String name, String author, int year, double cost, boolean available){

    this.name = name;

    this.author = author;

    this.year = year;

    this.cost = cost;

    this.available = available;

}


public String getName() {

    return name;

}


public void setName(String name) {

    this.name = name;

}


public String getAuthor() {

    return author;

}


public void setAuthor(String author) {

    this.author = author;

}


public int getYear() {

    return year;

}


public void setYear(int year) {

    this.year = year;

}


public double getCost() {

    return cost;

}


public void setCost(double cost) {

    this.cost = cost;

}


public boolean isAvailable() {

    return available;

}


public void setAvailable(boolean available) {

    this.available = available;

}



}


查看完整回答
反对 回复 2021-12-01
  • 2 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信