2011-06-17 88 views
2

你好我有从集合中获取数据与迭代器同样的问题:无法施展迭代

我有一个叫DatabaseTableFieldUIData类,它有一个方法getFieldName。

在另一类我DatabaseTableFieldUIDatas的这样一个集合:

收集columnData

现在我想通过该集合于迭代来获得所有与getFieldName方法的字段名。所以,我想是这样的:

Iterator<DatabaseTableFieldUIData> it = columnData.iterator(); 
for (int i = 0; i < columnData.size(); i++) 
     String fieldName = it.getFieldName(); 

,但它不允许我从迭代器调用getFieldName方法,所以我试图铸造迭代DatabaseTableFieldUIData:

Iterator<DatabaseTableFieldUIData> it = columnData.iterator(); 
    DatabaseTableFieldUIData aux; 
    for (int i = 0; i < columnData.size(); i++) 
     aux = (DatabaseTableFieldUIData) it; 

而我得到的错误“无法从iterator到DatabaseTableFieldUIData投”,不知道是什么,为帮助现在做:(

感谢。

+0

只是为了澄清:迭代方法应该包含next()和hasNext(),你会用,而不是铸造的迭代器本身。或者这是不是标准的其他迭代器? – 2011-06-17 13:41:26

回答

3

一个Iterator不是一个DatabaseTableFieldUIData这是几百万个如何正确使用一个Iterator的例子。

如果您使用for-each循环,则根本不需要Iterator。

for(DatabaseTableFieldUIData aux: columnsData) { 
1

试试这个:

Iterator<DatabaseTableFieldUIData> it = columnData.iterator(); 
while(it.hasNext()){ 
    DatabaseTableFieldUIData data = it.next(); 
    String fieldName = data.getFieldName(); 
} 

或者更好:

for(DatabaseTableFieldUIData data : columnData){ 
    String fieldName = data.getFieldName(); 
} 
相关问题