我有一個類,我試圖將一個Bookstore類和一個Books列表對象添加到對象列表中。但是,在添加書籍列表時出現類型轉換錯誤。無法將對象和列表一起添加到對象列表
這裏是我的REST客戶端:
public class Test {
public static void main(String[] args) {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
ResponseList responseList = service.path("rest").path("BookMain/get").accept(MediaType.APPLICATION_XML).get(ResponseList.class);
BookStore bs = (BookStore) responseList.getList().get(0);
ArrayList<Book> lb = (ArrayList<Book>) responseList.getList().get(1);
}
這裏是我的類,它是增加的書籍書店對象和列表:
@GET
@Path("/get")
@Produces(MediaType.APPLICATION_XML)
public ResponseList addObjects() {
BookStore bookstore = new BookStore();
bookstore.setName("Prateek Bookstore");
bookstore.setLocation("Vasanth Nagar");
Book book1 = new Book();
book1.setName("Book2");
book1.setAuthor("Author2");
Book book2 = new Book();
book2.setName("Book3");
book2.setAuthor("Author3");
ArrayList<Book> Blist = new ArrayList<Book>();
Blist.add(book1);
Blist.add(book2);
ArrayList<Object> list = new ArrayList<Object>();
list.add(bookstore);
list.addAll(Blist);
ResponseList books = new ResponseList();
books.setList(list);
return books;
}
這是錯誤:
Exception in thread "main" java.lang.ClassCastException:Book cannot be cast to java.util.ArrayList
這是我的ResponseList:
@XmlRootElement
@XmlSeeAlso({BookStore.class,Book.class,Hello.class})
public class ResponseList {
private List<Object> list;
public List<Object> getList() {
return list;
}
public void setList(List<Object> list) {
this.list = list;
}
}
這是圖書城等級:
@XmlRootElement
@XmlType(propOrder = {"name", "location"})
public class BookStore {
private String name;
private String location;
public String getName() {
return name;
}
public String getLocation() {
return location;
}
public void setName(String name) {
this.name = name;
}
public void setLocation(String location) {
this.location = location;
}
}
這是Book類:
@XmlRootElement
public class Book {
private String name;
private String author;
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;
}
}
雲誰能告訴我什麼,我做錯了什麼?
什麼是'ResponseList'?你會怎麼做一個'List
現在請添加'@ XmlSeeAlso'中的類。 – 2013-07-12 11:48:33
@Tichodroma添加了,請看看。 – Prats