我有一个实现 Externalizable 的类,它包含三个对象和这三种对象类型之一的列表。我假设您将简单地在子类中实现可外部化,然后为成员对象定义外部读写,但是是否也可以包含列表,如果可以的话如何?
public class AuthSuccessPacket extends Packet implements Externalizable {
public static final long serialVersionUID = 10003L;
Contact contact;
Network network;
Account account;
List<Contact> contacts;
public AuthSuccessPacket(){
super(Type.AUTH_SUCCESS);
}
public AuthSuccessPacket(Contact contact, Network network, Account account, List<Contact> contacts){
super(Type.AUTH_SUCCESS);
this.contact = contact;
this.network = network;
this.account = account;
this.contacts = contacts;
}
@Override
public void writeExternal(ObjectOutput out) {
out.writeObject(account);
out.writeObject(network);
out.writeObject(contact);
// ??? write list
}
@Override
public void readExternal(ObjectInput in) {
}
contact = (Contact) in.readObject();
network = (Network) in.readObject();
account = (Account) in.readObject();
// ??? read list
}