如果一個類似的問題已經發布在stackoverflow上,請發佈鏈接。爲什麼它需要將類標記爲可序列化?
對需要序列化的對象實現Serializable接口(無方法)需要什麼? Java API說 - - 如果未實現,則會拋出java.io.NotSerializableException。
這是因爲在ObjectOutputStream.java
............................
writeObject0(Object obj, boolean unshared){
.............
} else if (cl.isArray()) {
writeArray(obj, desc, unshared);
} else if (obj instanceof Serializable) {
writeOrdinaryObject(obj, desc, unshared);
} else {
throw new NotSerializableException(cl.getName());
}
................
下面的代碼,但我的問題是,爲什麼它要實現Serializable,從而通知或告知的Java/JVM一個類可以被序列化。 (只是爲了避免這種例外嗎?)。
在這種情況下,如果我們編寫一個類似的功能,將對象寫入流而不檢查類是否在一個instanceOf Serializable中,類的對象是否會實現Serializable序列化?
任何幫助表示讚賞。
Dupe of http://stackoverflow.com/questions/441196/why-java-needs-serializable-interface – 2009-05-18 15:03:31
[This question](http://stackoverflow.com/questions/441196/why-java-needs- serializable-interface)對此有一些很好的答案。 – jwoolard 2009-05-18 14:47:58