Score.clear();
for (Client player : getPlayers()) {
Client c = (Client) player;
Score.put(c.gameScore, c);
}
Client WINNER = Score.get(Score.size() - 1);
if (WINNER != null) {
System.out.println("it works.");
}
else {
System.out.println("its a null");
}
何をすべきか:
すべてのクライアントをループしてから、クライアントのスコア オブジェクトを Map コレクション (ツリーマップ) に追加します。そして、スコアが最も高いクライアントを見つけます。
TreeMap コレクションは、(-5, 0, 6, 8, 110, 647) のように、最小の int から最大の int に移動します。
クライアントのスコアが 0 (すべて) の場合、現在のコードを試してみましたが、正常に動作し、「動作します」と出力されます。しかし、クライアントの 1 つに 200 のスコアを取得すると、「null です」と表示されます。
nullになってしまうのはなぜですか?
public static Map<Integer, Client> Score = new TreeMap<Integer, Client>();