为什么Element的集合增强for循环无法解析

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果
    @Test
    public void test1() throws DocumentException {
        //1读取xml文件
        SAXReader saxReader = new SAXReader();
        Document read = saxReader.read("src/books.xml");
        //通过document对象获取根元素
        Element rootElement = read.getRootElement();
        //通过根元素获取book对象

        //4遍历,处理每个book标签转换为book类
        //element和elements方法都是通过标签名查找子元素
        List books = rootElement.elements("book");
        //asXML()把标签对象,转换为标签字符串;
        for(Element book:books){
            Element nameElement=(Element)(book).element("name");
            String nameText=nameElement.getText();
            System.out.println(nameText);
        }
    }

引入的包也拿出来 还有依赖

for (Iterator i = rootElement.elementIterator("book"); i.hasNext();) {
Element book = (Element) i.next();
String nameText = book.elementText("name");
}

报错里面提示了:books 里面的对象是Object类型的,for循环应该改成Object类型的才对
for(Object book:books)
在里面再转成Element类型