我有一个简单的类,如下所示.
我想要用这个类实现的是将实例序列化为一个字节数组,但我一直在努力java.io.NotSerializableException.
我的代码出了什么问题?
难道这只是一个指针实例时调用构造函数,而不是实际的实例对象创建?
class XXX {
private String someStr;
public XXX(String someStr){
this.someStr = someStr;
}
public byte[] toByteArray(){
byte[] output = null;
try(ByteArrayOutputStream out = new ByteArrayOutputStream();
ObjectOutputStream stream = new ObjectOutputStream(out)) {
stream.writeObject(this);
output = out.toByteArray();
}catch(Exception e){
}
return output;
}
}
XXX aX = new XXX("some string");
aX.toByteArray();
Run Code Online (Sandbox Code Playgroud)
当实例需要具有Serializable接口时抛出.序列化运行时或实例的类可以抛出此异常.参数应该是类的名称.
您需要在您的类中实现Serializable接口.
class XXX implements Serializable {
...
}
Run Code Online (Sandbox Code Playgroud)
请参阅ideone.com中的输出
[-84,-19,0,5,115,114,0,6,73,100,101,111,110,101,107,-60,36,124,45,63,13,80,2, 0,1,76,0,7,115,111,109,101,83,116,114,116,0,18,76,106,97,118,97,47,108,97,110,103, 47,83,116,114,105,110,103,59,120,112,116,0,11,115,111,109,101,32,115,116,114,105,110,103]
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |