如果我为我的类编写一个serialversionuid,如1234所示,并且我知道程序中没有其他类使用它,那么这样做可以吗?或者我总是必须使用编译器生成的uid吗?
serialversionuid可以是为序列化和反序列化对象提供唯一签名的任意长。我认为它甚至不必是独一无二的。这样,序列化程序就知道即使在您更改了类的结构之后,这也是同一个foo.class。我通常使用-1l作为值。
它可以是任何数字,只需表示该类的版本。它根本不必是独一无二的。