NotSerializableException问题

0 java

以下代码抛出异常:

public class TestObject implements Serializable{

    private static final long serialVersionUID = 1L;

    public String value;

}


DbByteArrayOutputStream out = new DbByteArrayOutputStream();
ObjectOutputStream objOut = new ObjectOutputStream(out);
objOut.writeObject(objOut);
objOut.flush();
out.writeTo(file);
objOut.close();
out.close();

public class DbByteArrayOutputStream extends ByteArrayOutputStream {
    public DbByteArrayOutputStream() {
     super();
 }

 public synchronized void writeTo (RandomAccessFile file) throws IOException {
     byte[] data = super.buf;
     int l = super.size();
     file.writeInt(l);
     file.write(data, 0, l);
   }
}
Run Code Online (Sandbox Code Playgroud)

为什么?谢谢.

Jon*_*eet 6

这就是问题:

ObjectOutputStream objOut = new ObjectOutputStream(out);
objOut.writeObject(objOut);
Run Code Online (Sandbox Code Playgroud)

您正在尝试将流序列化为自身.这毫无意义.我怀疑你的意思是:

objOut.writeObject(new TestObject());
Run Code Online (Sandbox Code Playgroud)

或类似的东西.