2016-08-16 7 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(); 
     } 
    } 
} 

Почему я запустить программу, консоль показывает, что "Exception в потоке„главный“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>()); 

может решить этот вопрос.

Смежные вопросы