尽管目前我没有计划序列化任何东西,但我给所有可序列化的外部类以及静态嵌套类SerialVersionUID
,因为这是正确的方法。Java:应该可序列化的内部匿名类具有SerialVersionUID吗?
不过,我读过here是
序列化内部类(即嵌套类的非静态成员类),包括本地和匿名类的,是强烈反对的原因有几个。 ...
所以我的问题是:
我应该给内部和匿名类每一个SerialVersionUID
,或者我应该添加一个@SuppressWarnings("serial")
那些?
比其他方式更合适吗?
我会在任何情况下引用这样的类为transient,因为我不希望它们被序列化。
我认为你不应该序列化这些类的建议是不鼓励的,因为你不知道JVM是什么,反序列化对象的类有类路径上的类。 – keuleJ 2013-03-18 12:47:19
所以我应该把它们当作其他可序列化类来对待? – 2013-03-18 13:00:39
如果您需要版本之间的兼容性,我只会使用serialVersionUID。例如。如果您将对象写入文件或类似文件中。 – keuleJ 2013-03-18 13:27:23