有可能吗?稍后,我需要能够从文件中读取。我打算做的示例(但由于e无法序列化而行不通):

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();
        }
    }
有帮助吗?

解决方案

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

如:

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

这里的困惑是 Serializable 是一个接口,不能按类“扩展”(但是 能够 作为托马斯说的其他界面可以扩展),但是上限仍然有效。

当然,这意味着您 ES会 需要 实施 Serializable, ,或实现扩展的接口 Serializable.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top