2016-02-12 73 views
-3

我正在使用最新的jdk來運行此程序。我無法找到正確的解決方案在這裏請幫助。這是非常簡單的收集程序但未運行

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

class ArrayListDemo{ 
    List<String> list = new ArrayList<>(); 
    list.add("abc"); 
    list.add("xyz"); 
    Iterator<String> itr = list.iterator(); 
    while(itr.){ 
      System.out.println(itr.next()); 
    } 
} 
+0

這不會編譯。請詳細解釋你有什麼問題。 – Seelenvirtuose

+0

只有共享代碼不會幫助您獲得答案。所以請發佈您的問題細節。你想要的代碼是什麼以及你得到的錯誤/錯誤輸出是什麼。 – Blip

+0

當我們使用像這樣的'Iterator '這樣的泛型迭代器類的時候,請修復這個while(itr。)到while(itr.hasNext()) – Prabhakaran

回答

1

似乎是一個編譯錯誤,由於兩件事情:

類的內容實際上應該是一個方法,而不是類體內內。 (ITR)

用而線{應當讀而(itr.hasNext()){

1

你忘了添加hasNext()while(itr.hasNext())

0

此外hasNext()迭代的方法,類型的ArrayList丟失:

List<String> list = new ArrayList<String>(); 
     list.add("abc"); 
     list.add("xyz"); 
     Iterator<String> itr = list.iterator(); 
     while(itr.hasNext()){ 
       System.out.println(itr.next()); 
     } 

替代地,你可以使用每個,而不是迭代器:

List<String> list = new ArrayList<String>(); 
     list.add("abc"); 
     list.add("xyz"); 
     for(String str: list) 
      System.out.println(str); 
+0

,不需要輸入casting。 –

0

這將是合適的方案

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

class ArrayListDemo { 

    public static void main(String[] args) { 
     List<String> list = new ArrayList<>(); 
     list.add("abc"); 
     list.add("xyz"); 
     Iterator<String> itr = list.iterator(); 
     while (itr.hasNext()) { 
      System.out.println(itr.next()); 
     } 
    } 
} 

如果您使用的是JDK8,則可以省略在列表中使用<>運算符。