0

の使用からすべてのロジックを変換する方法を知りたい:

static List<ServerThread> s_PlayersOnServer = new Vector<ServerThread>();

 static Map s_PlayersOnServer = Collections.synchronizedMap(new TreeMap());

たとえば、次のサンプルがあります。

ServerMain.s_PlayersOnServer.get(clientSerialNumber-1).setPlayerName(playerName);

そして、 Map 実装に切り替えた後、同じロジックが機能しません:

ServerMain.s_PlayersOnServer.get(clientSerialNumber).setPlayerName(playerName);  

関数 setPlayerName は新しいコンテキストでは不明であり、理由がわかりません
ありがとう

4

1 に答える 1

0

リストは正しく入力されていますが、マップはそうではありません。

検討

 static Map<Integer, ServerThread> s_PlayersOnServer = Collections.synchronizedMap(new TreeMap<Integer, ServerThread>());

clientSerialNumber が実際に整数である場合。

よろしく

于 2011-07-08T22:02:56.697 に答える