我有一个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>是个空的,我该如何修改,请高人赐教下,谢谢了!
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>是个空的,我该如何修改,请高人赐教下,谢谢了!
return new ArrayList<Book>(); //这里每次都new一个对象,当然是空的了
}
只是new了个空的 ArrayList 呀
你得向里边添加数据
public static List<book> book(){
return new ArrayList<Book>().add(this);
}
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());
}
}
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;
}
}