Не думаю, что это хорошая идея:
public class packet implements Serializable {
public Integer[] vec=null;
public packet(Integer[] vector) {
vec=vector;
}
}
Открытая, изменяемая переменная-член? И назначение этого способа позволяет любому изменять состояние пакета.
Вот как я бы переписал бит, который вы опубликовали:
public class Packet implements Serializable {
private Integer [] vector;
public Packet(Integer [] vector) {
this.vector = new Integer[vector.length];
System.arraycopy(0, vector, 0, this.vector, vector.length);
}
}