2010-02-04 38 views
0

基本上我對Java很陌生,在理解一條線並使其工作時遇到了問題。Quick Java LinkedList問題

繼承人的代碼行:

LinkedList<ClientWorkers> clients = SingletonClients.getClients(); 

繼承人的過程及其在:

ClientWorker(Socket client, JTextArea textArea) { 
     this.client = client; 
     this.textArea = textArea; 

     String line = in.readLine(); 
     LinkedList<ClientWorkers> clients = SingletonClients.getClients(); 
     for(int i = 0; i < clients.size(); i++) { 
      ClientWorker c = clients.get(i); 
      //The client doesn't need to get it's own data back. 
      if(c == this){ 
       continue; 
      } 
      c.writeString(line); 
     } 

    } 

它拋出的錯誤是:

SocketThrdServer.java:20: cannot find symbol 
symbol : class LinkedList 
location: class ClientWorker 
     LinkedList<ClientWorker> clients = SingletonClients.getClients();   
     ^
SocketThrdServer.java:20: cannot find symbol 
symbol : variable 
SingletonClients location: class ClientWorker 
     LinkedList<ClientWorker> clients = SingletonClients.getClients(); 

沒有人有任何想法如何我可以把它分類?我假設LinkedList被定義爲錯誤,SingletonClients根本沒有被定義,但我不確定在這種情況下如何定義它們?

在此先感謝!

+1

(偏離主題):通過索引循環遍歷LinkedList是非常緩慢的。改爲使用'Iterator'(或新的foreach語法)。 – MAK

回答

2

,如果你想使用的LinkedList沒有它的全名,您需要import java.util.LinkedList;的Java文件的開頭(也就是說,如果你希望能夠說「鏈表」,而不是「 java.util.LinkedList中「)。

+0

完美!謝謝! 你有什麼想法如何定義SingletonClients? – IApp

1

在行

LinkedList<ClientWorkers> clients = SingletonClients.getClients(); 
你寫的,而不是ClientWorker ClientWorkers

。這是一個錯誤。 它應該是:

LinkedList<ClientWorker> clients = SingletonClients.getClients(); 
+0

非常感謝!從來沒有注意到! 你有什麼想法如何定義SingletonClients? – IApp

+0

它應該只是一個名爲SingletonClients的類,裏面有一個名爲getClients()的靜態方法,它返回一個LinkedList 。 喜歡的東西: 公共類SingletonClients { 公共靜態的LinkedList getClients(){// 代碼 } } – Javi

1

聽起來像一個類路徑問題,雖然LinkdList屬於java.util包,所以它始終可用。我建議你檢查一下你的類文件頂部的import語句,看看你是否使用了正確的LinkedList類。

+0

就是這樣!謝謝:D – IApp