2011-06-17 127 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(); 
} 
相關問題