wood burning stoves 2.0*
The moose likes Java in General and the fly likes  serialVersionUID Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Java in General
Bookmark " serialVersionUID" Watch " serialVersionUID" New topic
Author

serialVersionUID

Isaac Ferguson
Ranch Hand

Joined: Jun 22, 2012
Posts: 386
Why some classes ask me for

thanks
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18896
    
  40

Angus Ferguson wrote:Why some classes ask me for

thanks



Well, no classes "ask" for the variable.

However, some IDE warns you that you have a serializable class without it. The theory behind it is .. if you don't provide it, the Java compiler will generate one based on a formula. And chances are, it will be too volatile, meaning it will change the value even though you don't care about the part that changes.

So... the theory is, if the programmer controls it, then the programmer can change it only when actually needed. This way, if the programmer changes an interim variable, the programmer can choose to not change the ID, and hence, the program will still be compatible with all the previously serialized files.... and of course, this is based on the assumption that the programmer knows what he/she is doing.

Henry

Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
 
It is sorta covered in the JavaRanch Style Guide.
 
subject: serialVersionUID