Я хочу отправить через ObjectStream объект класса: (Packet is Serializable
)
public class ServerPlayersListPacket extends Packet {
private static final long serialVersionUID = -7141960214853425631L;
private ArrayList<Player> players;
public ServerPlayersListPacket(ArrayList<Player> players) {
this.setPlayers(players);
}
public ArrayList<Player> getPlayers() {
return new ArrayList<Player>(Collections.synchronizedList(players));
}
public void setPlayers(ArrayList<Player> players) {
this.players = players;
}
}
Но есть проблема с ArrayList
. Получая его с другого сайта, я получил OptionalDataException
.
Я обнаружил, что это проблема, связанная с ArrayList
синхронизацией. Но как заставить это работать?