為什么booklist.add(bokEntity)中的add報錯
package?com.imooc.dom4jtest;
import?java.awt.print.Book;
import?java.io.File;
import?java.util.ArrayList;
import?java.util.Iterator;
import?java.util.List;
import?org.dom4j.Attribute;
import?org.dom4j.Document;
import?org.dom4j.DocumentException;
import?org.dom4j.Element;
import?org.dom4j.io.SAXReader;
public?class?DOM4JTest?{
?private?final?static?ArrayList<Book>?booksList?=?new?ArrayList<Book>();
?public?static?void?main(String[]?args)?{
??//?解析books.xml文件
??//?創(chuàng)建SAXReader的對象reader
??SAXReader?reader?=?new?SAXReader();
??try?{
???//?通過reader對象的read方法加載books.xml文件,獲取document對象
???Document?document?=?reader.read(new?File("src/books.xml"));
???//?通過document對象獲取根節(jié)點bookStore?目的:遍歷根節(jié)點和子節(jié)點信息
???Element?bookStore?=?document.getRootElement();
???//?通過element對象的elementIterator方法獲取迭代器
???Iterator?it?=?bookStore.elementIterator();
???//?遍歷迭代器獲取根節(jié)點中的信息(書籍)
???while(it.hasNext()){
????com.imooc.entity.Book?bookEntity?=?new?com.imooc.entity.Book();
????System.out.println("====開始遍歷某一本書====");
????Element?book?=?(Element)?it.next();//next方法返回的是Object類型?但遍歷的是節(jié)點類型Element
????//?獲取book的屬性名和屬性值
????List<Attribute>?bookattrs?=?book.attributes();
????for?(Attribute?attr?:?bookattrs)?{
?????System.out.println("屬性名"?+?attr.getName()?+?"----屬性值:"?+?attr.getValue());
?????if(attr.getName().equals("id")){
??????bookEntity.setId(attr.getValue());
?????}
????}
????Iterator?itt?=?book.elementIterator();
????while(itt.hasNext()){
?????Element?bookchild?=?(Element)?itt.next();
?????System.out.println("節(jié)點名:"?+?bookchild.getName()+?"----節(jié)點值:"?+?bookchild.getStringValue());
?????if(bookchild.getName().equals("name")){
??????bookEntity.setName(bookchild.getStringValue());
?????}
?????else?if(bookchild.getName().equals("year")){
??????bookEntity.setYear(bookchild.getStringValue());
?????}
?????else?if(bookchild.getName().equals("author")){
??????bookEntity.setAuthor(bookchild.getStringValue());
?????}
?????else?if(bookchild.getName().equals("price")){
??????bookEntity.setPrice(bookchild.getStringValue());
?????}
?????else?if(bookchild.getName().equals("language")){
??????bookEntity.setLanguage(bookchild.getStringValue());
?????}
????}
????System.out.println("====結(jié)束遍歷某一本書====");
????booksList.add(bookEntity);
????bookEntity?=?null;
???}
??}?catch?(DocumentException?e)?{
???//?TODO?Auto-generated?catch?block
???e.printStackTrace();
??}
?}
}報錯信息是:
The method add(java.awt.print.Book) in the type ArrayList<Book> is not applicable for the arguments (com.imooc.entity.Book)
2017-02-20
這個是Java awt組件里面的包,你要導(dǎo)入的是你自己建立的Book類對象所在的包。
2017-02-18
import?java.awt.print.Book;
導(dǎo)錯包了