将泛型类型的对象写入文件java

时间:2013-12-03 14:07:41

标签: java file object generics

甚至可能吗?我需要以后能够从该文件中读取。 我打算做什么的例子(但是因为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();
        }
    }

1 个答案:

答案 0 :(得分:2)

为什么不使用E的通用参数化中的上限?

如:

private <E extends Serializable> void writeEvent(ObjectOutputStream out,E obj) {
  // etc.
}

这里的混淆是Serializable是一个接口,不能被类“扩展”(但可以通过其他接口扩展,如Thomas所述),但是上限仍然有效。

当然,这意味着您的E 需要来实施Serializable,或者实现扩展Serializable的接口。