Java Annotation interface不延伸Serializable
。但是,Java註釋值是可序列化的(使用java.lang.reflect.Proxy
實現,帶有可序列化的調用處理程序)。Java註釋是否可序列化?
這是有保證的地方嗎?我的search-foo無法找到參考。或者,如果我需要安全地序列化註釋實例,是否需要創建我自己的序列化代理?
Java Annotation interface不延伸Serializable
。但是,Java註釋值是可序列化的(使用java.lang.reflect.Proxy
實現,帶有可序列化的調用處理程序)。Java註釋是否可序列化?
這是有保證的地方嗎?我的search-foo無法找到參考。或者,如果我需要安全地序列化註釋實例,是否需要創建我自己的序列化代理?
方法java.lang.reflect.AnnotatedElement
返回的註釋對象是Serializable
。這是什麼API says:此接口允許反射性地讀取註釋。由該接口中的方法返回的所有註釋都是不可變的,並且可以序列化爲。
所有能夠返回註解對象的類(Class,Constructor,Field,Method,Package,Parameter)都實現AnnotatedElement,並且有義務按上述合約創建/返回Serializable對象。
完美,謝謝! – 2013-04-09 15:15:29
註解是類定義的一部分,因此當序列化具有註釋的類的實例時,永遠不會寫入序列化流(至少不會用標準java序列化)。
更新: 我想我錯過了原來的問題,指的是具體序列化一個實際的註釋的實例點。
我的直覺是肯定的,因爲它們是靜態的。因爲這些,他們甚至需要'可序列化'嗎? – 2013-04-09 14:39:34