2014-06-05 13 views
1

鑑於此代碼java.util.Iterator的,但不能導入了java.util.Iterator

import java.util.Iterator; 

private static List<String> someList = new ArrayList<String>(); 

public static void main(String[] args) { 

    someList.add("monkey"); 
    someList.add("donkey"); 

    //Code works when I change Iterator to java.util.Iterator, but import  
    //is not possible? 
    for(Iterator<String> i = someList.iterator(); i.hasNext();) { 
     String item = i.next(); 
     System.out.println(item); 
    } 

} 

我收到的錯誤:類型的Iterator是不通用的;它不能用參數參數化

Eclipse告訴我,導入java.util.Iterator與在同一個文件中定義的類型衝突。

+6

你爲什麼笑?你有你自己的'Iterator'類型嗎? –

+2

@Mifmif:這是一個**完全有效的問題,因爲'Iterator '被定義爲接受一個通用參數。 – Makoto

+2

@Mifmif根本不是一個愚蠢的問題,特別是因爲如果他有一個,那會導致這個錯誤。 –

回答

5

I receive the error: The type Iterator is not generic; it cannot be parameterized with arguments

Eclipse tells me that the import java.util.Iterator conflicts with a type defined in the same file.

我可以得到這兩個確切的錯誤的唯一方法是打電話給我的類Iterator。我想這將是一個容易犯的錯誤,如果你正在寫關於迭代一個小測試類:

import java.util.Iterator; 
import java.util.ArrayList; 
import java.util.List; 

public class Iterator { 

    private static List<String> someList = new ArrayList<String>(); 

    public static void main(String[] args) { 
     someList.add("monkey"); 
     someList.add("donkey"); 

     for (Iterator<String> i = someList.iterator(); i.hasNext();) { 
      String item = i.next(); 
      System.out.println(item); 
     } 
    } 
} 

解決辦法:不要那樣做。把它叫做別的。

就像試圖猜測你的代碼是什麼樣子一樣有趣,如果你在你的問題中發佈了一個完整的例子,這將是一個簡短的過程。我不排除還有另外一個代碼示例會產生這些錯誤,儘管我沒有找到一個有一些實驗的代碼。

+0

lol。「解決方案:不要這樣做。 愛它。 –

+0

您將無法導入'java.util.Iterator'。這個問題是垃圾。 –

+0

更改類的名稱,然後嘗試:) –

0

檢查你的import語句正確 有可能您已經導入來自另一個包迭代第一整理進口 刪除這些進口和 添加

import java.util.Iterator; 

希望它會爲你

作品
+0

這將如何解釋'import java.util.Iterator與在同樣的文件消息? –

+0

它不會被任何IDE解釋,但必須通過檢查導入語句來手動檢查它 –

相關問題