msirene 2016-07-06 02:15 采纳率: 0%
浏览 1835
已结题

Dom4j 泛型警告怎么解决

 import java.io.FileOutputStream;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class TestDom4j {

    public static void main(String[] args) throws Exception {
        addAgeBefore();
    }

    //在第一个p1下面的age标签之前添加 <school>work</schlool>
    public static void addAgeBefore() throws Exception {
        // 创建解析器
        SAXReader saxReader = new SAXReader();
        // 得到document
        Document document = saxReader.read("src/p1.xml");
        // 得到根节点
        Element root = document.getRootElement();
        // 获取到第一个p1
        Element p1 = (Element)root.element("p1");
        // 获取p1下面的所有元素
        List<Element> list = p1.elements();
        // 创建元素 使用
        Element school = DocumentHelper.createElement("school");
        // 在school下面创建文本
        school.setText("work");
        // 在特定位置添加
        list.add(1, school);
        // 回写xml
        OutputFormat format = OutputFormat.createPrettyPrint();
        XMLWriter xmlWriter = new XMLWriter(new FileOutputStream("src/p1.xml"), format);
        xmlWriter.write(document);
        xmlWriter.close();
    }
}

图片说明
此代码可以运行,但是List list = p1.elements();出现泛型警告,有什么可以完美解决的方案吗?注解@SuppressWarnings不算
List list = p1.elements();如果改成List<?> list=p1.elements();那么list.add(1, school);这句会报错的(1, school);这句会报错的

  • 写回答

3条回答 默认 最新

  • yu954663801 2016-07-06 03:41
    关注

    不要理会,没影响,如果一旦要消除的话,可以这样:
    List<?> list=p1.elements();
    不过遍历时需要强转

    评论

报告相同问题?