我特意以 Java OS 1.4.2 为目标
我正在尝试结合 apache 的 POI 使用迭代器来读取 excel 电子表格。
代码在 java 1.5 中运行完美,但在 1.4.2 版本中我得到问题主题中列出的错误。
代码是:
Iterator<HSSFRow> myIter = null;
*更新 - 删除了空声明,并立即将其设置为集合。仍然得到同样的错误! “Iterator cannot be resolved to a type”(迭代器是一种抽象类型)。在我尝试从迭代器获取值之前发生此错误!
Iterator itRows = hsSheet.rowIterator();
- 我还导入了 HSSFRow 变量
它在那行代码处中断,这行代码显然位于应用程序的开头。我不明白需要做什么来纠正这个问题。如果您有任何见解,请告诉我!
最佳答案
1.5 以下版本的 Java 不处理泛型类型(又名由其他类型参数化的类型:List)。
要在 Java 1.4 中运行您的代码,您需要放弃泛型类型参数并自己进行强制转换。
Iterator myIterator = // initialize it
HSSFROW row = (HSSFROW)myIterator.next();
一个更完整的例子:
List collection = new ArrayList();
collection.add("a");
collection.add("b");
collection.add("c");
Iterator myIterator = collection.iterator();
while ( myIterator.hasNext() ) {
String value = (String) myIterator.next();
System.out.println("value: " + value);
}
输出为:
value: a
value: b
value: c
关于Java - 迭代器 : "Syntax error, parameterized types are only available if source level is 5.0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2985530/