![](/img/trans.png)
[英]Image to ByteArray to BLOB and BLOB to ByteArray to Image Conversion Issues in Java
[英]Java serializable HashMap to ByteArray for creating a blob
嘗試時,出現此消息錯誤:
java.io.NotSerializableException:
private HashMap<String, XlsData> myMap= new HashMap<String, XlsData>();
ByteArrayOutputStream bObj = new ByteArrayOutputStream();
ObjectOutputStream out;
try {
out = new ObjectOutputStream(bObj);
if(myMap != null){
out.writeObject(myMap);
out.close();
bObj.close();
byte[] byteOut = bObj.toByteArray();
}
} catch (IOException e) {
e.printStackTrace();
}
public class XlsData implements Serializable {
private String dataA;
private String dataB;
public String getDataA() {
return dataA;
}
public void setDataA(String dataA) {
this.dataA= dataA;
}
public String getDataB() {
return dataB;
}
public void setDataB(String dataB) {
this.dataB= dataB;
}
}
工作正常需要什么? 有可能看到我的內部類也實現了serializabe類。
您的XlsData
類需要是一個靜態內部類:
public static class XlsData implements Serializable {
因為它不是靜態的,所以它的行為就像一個非靜態字段:它只能作為外部類實例的一部分存在。 當序列化一個非靜態內部類的實例時,您還將序列化封閉的外部類對象,我猜這是不可序列化的(或其一個或多個字段不可序列化)。
最有可能的是,您所映射的元素之一只是不可序列化的。 或者,映射的元素包含既不可序列化也不瞬態的成員。 只需翻閱地圖,即可找到答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.