我有一个book类,定义如下:
public class book{
private int id;
private String name;public  book(int id,String name){
this.id = id;
this.name = name;
}public int getId(){
return id;
}public String getName(){
return name;
}public static List<book> books(){
return new ArrayList<Book>();
}
}当我在其他类里对book操作时:
for(int i = 0 ; i < 5 ; i++){
new book(i,"aaa");
}然后判断
if(book.books().isEmpty()){}
为什么获取的ArrayList<Book>是个空的,我该如何修改,请高人赐教下,谢谢了!

解决方案 »

  1.   

    public static List<book> books(){
    return new ArrayList<Book>(); //这里每次都new一个对象,当然是空的了
    }
      

  2.   

    return new ArrayList<Book>();
    只是new了个空的 ArrayList 呀
    你得向里边添加数据
      

  3.   


    public static List<book> book(){
          return new ArrayList<Book>().add(this);
    }
      

  4.   

    Book.java应该是这样的。import java.util.ArrayList;
    import java.util.List;public class Book {
    private int id; private String name;

    private static List<Book> bookList =null; public Book(int id, String name) {
    this.id = id;
    this.name = name;
    if (bookList == null) {
    bookList = new ArrayList<Book>();
    }
    bookList.add(this);
    } public int getId() {
    return id;
    } public String getName() {
    return name;
    } public static List<Book> books() {
    return bookList;
    }
    }
    测试用的类
    public class TestBook {
    public static void main(String[] args) {
    for(int i = 0 ; i < 5 ; i++){
    new Book(i,"aaa");
    }
    System.out.println(Book.books().size());
    }
    }
      

  5.   

    你改成下边这个试试public class Book {
    private int id; private String name; private ArrayList<Book> arrlist = new ArrayList<Book>(); public Book(int id, String name) {
    this.id = id;
    this.name = name;
    arrlist.add(this);
    } public int getId() {
    return id;
    } public String getName() {
    return name;
    } public List<Book> books() {
    return this.arrlist;
    }
    }