甚至可能吗?我需要以后能够从该文件中读取。 我打算做什么的例子(但是因为E不是Serializable而不起作用):
private <E> void writeEvent(ObjectOutputStream out,E obj) throws IOException{
out.writeObject(new custEvent(obj));
}
class custEvent<E> implements Serializable{
private E obj;
private Date date;
public custEvent(E obj) {
this.obj=obj;
date=new Date();
}
}
答案 0 :(得分:2)
为什么不使用E
的通用参数化中的上限?
如:
private <E extends Serializable> void writeEvent(ObjectOutputStream out,E obj) {
// etc.
}
这里的混淆是Serializable
是一个接口,不能被类“扩展”(但可以通过其他接口扩展,如Thomas所述),但是上限仍然有效。
当然,这意味着您的E
需要来实施Serializable
,或者实现扩展Serializable
的接口。