2016-08-16 28 views
-2
import java.io.IOException; 
import java.net.ServerSocket; 
import java.net.Socket; 
import java.util.ArrayList; 
import java.util.Collections; 
import java.util.List; 
public class MyServer { 
    //定義保存所有Socket的ArrayList,並將其包裝爲線程安全 
    public static List<Socket> socketList = Collections.synchronizedList(new ArrayList<>()); 
    public static void main(String[] args)throws IOException{ 
     ServerSocket ss=new ServerSocket(3000); 
     while(true){ 
      Socket s=ss.accept(); 
      socketList.add(s); 
      new Thread(new ServerThread(s)).start(); 
     } 
    } 
} 

爲什麼我運行程序,控制檯顯示「異常在線程‘主要’java.lang.Error的:未解決的問題,編譯: 在com.eyck。 inet.MyServer.main(MyServer.java:14)」
誤差似乎在管線9類型不匹配:不能從列表<Object>轉換到列表<Socket>

+0

[錯誤將對象\ [\]轉換爲ContentValues \ [\]](http://stackoverflow.com/questions/38798196/error-casting-object-to-contentvalues) –

回答

0

修改9行至

public static List<Socket> socketList 
     =Collections.synchronizedList(new ArrayList<Socket>()); 

可以解決問題之後。

相關問題