java - (Java) 遍历一个 Vector<String[]>,为什么 .next() 是一个对象,而不是一个 String[]?

标签 java casting iterator

在 Java 中,当您遍历 Vector<String[]> 时,为什么是.next()一个Object需要转换为 String[] , 将每个元素用作 String[]

编辑:

这是我的代码:

    Iterator itr = getIdAndName().iterator();
    while( itr.hasNext() ) {
        String[] stringArray = (String[])itr.next();
        String id = stringArray[0];
        String name = stringArray[1];
        System.out.println(id + ": " + name);
    }

getIdAndName()返回 Vector<String[]> .

最佳答案

事实并非如此。我唯一能想到的是你没有输入你的迭代器,即你正在这样做:

Vector<String[]> vector;
Iterator it = vector.iterator();
Object obj = it.next();

什么时候应该做:

Vector<String[]> vector;
Iterator<String[]> it = vector.iterator();
String[] next = it.next();

好吧,在大多数情况下你实际上并不直接需要迭代器,所以你可以使用:

Vector<String[]> vector;
for (String[] element : vector) {
    //...
}

关于java - (Java) 遍历一个 Vector<String[]>,为什么 .next() 是一个对象,而不是一个 String[]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9322500/

相关文章:

parameters - 关于如何正确转换变体记录函数参数的老式 Pascal 问题

c++ - 如何在增量循环中构造 std::list 迭代器

java - Thymeleaf:在同一页面上显示两个 JPA 实体表的数据

java - 将 Webelement 类型转换为 Select 时出错

php - 在 PHP 中将字符串转换为整数的最快方法

python - 如何使用python计算Delta F/F?

C++在 vector 迭代中删除并返回指向对象的指针

certificate - 如何以编程方式获取 X509 证书的完整证书链?

java - 我如何检查哪些所有用户都登录到我的应用程序

java - 结合 Java 泛型和反射以避免强制转换