关于java 重写方法中 list集合无法add问题

 public void find_on_server(List<Book> book_upload_list){
            final List<BmobObject> bookupload_list_insert = new ArrayList<BmobObject>();//这是我定义的list集合

            bookupload_list_insert.add(book);//这里可以add          

            BmobQuery<Book> query = new BmobQuery<Book>();
            query.addWhereEqualTo("book_netword_id",book.book_netword_id);
            query.addWhereEqualTo("User", bmobUser);
            query.findObjects(new FindListener<Book>(){//这是云端提供的方法

                @Override
                public void done(List<Book> list, BmobException e) {//这是重写方法
                    //这里可以得到查询的对象 列表  list
                    bookupload_list_insert.add(list.get(0);//这里add却不行,前提不为空     
                }

            });

        }
    }
}

第二行,final->static,不确定哈,我也是新手!

两个List的元素类型不同,应该不能通过编译

类型不同,bookupload_list_insert 存放的类型是BmobObject,但是你后面方法里面的 list.get(0)是一个Book对象,怎么能存放进去呢?而且list.get(0)后面还少一个括号