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);这句会报错的

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

钻牛角尖的问题,要想完美,除非Dom4j 本身api使用泛型

用annotation消除警告不行吗?
@SuppressWarnings({ "rawtypes", "unchecked" })
类似这种, 消除这个警告意义不大.