Vai divām klasēm var būt viens un tas pats serialVersionUID?
Vai divām klasēm var būt viens un tas pats serialVersionUID?

Video: Vai divām klasēm var būt viens un tas pats serialVersionUID?

Video: Vai divām klasēm var būt viens un tas pats serialVersionUID?
Video: SerialVersionUID And Versioning in Java Serialization 2024, Aprīlis
Anonim

Jā, tas ir iespējams divi savādāk klasēm var būt uz tas pats serialVersionUID vērtību. Bet dodiet priekšroku katram izmantot unikālu klasē . Izmantojiet arī par 8 līdz 10 cipariem garāku skaitli, nevis tikai 1 kā vērtību.

Tātad, kas ir serialVersionUID?

Vienkārši sakot, serialVersionUID ir unikāls identifikators serializējamām klasēm. To izmanto objekta deserializācijas laikā, lai nodrošinātu, ka ielādētā klase ir saderīga ar serializēto objektu.

Tāpat kāda ir serialVersionUID 1l izmantošana? The serialVersionUID ir universāls serializējamās klases versijas identifikators. Deserializācija lietojumiem šo numuru, lai nodrošinātu, ka ielādētā klase precīzi atbilst serializētam objektam. Ja atbilstība netiek atrasta, tiek izmests InvalidClassException.

Tāpat tiek jautāts, vai ir nepieciešams serialVersionUID?

noklusējuma serialVersionUID aprēķins ir ļoti jutīgs pret klases detaļām, kas var atšķirties atkarībā no kompilatora ieviešanas, un var tādējādi deserializācijas laikā rodas neparedzēti InvalidClassException s. Tāpēc jums ir jādeklarē serialVersionUID jo tas dod mums lielāku kontroli.

Kāda ir serialVersionUID loma serializācijas procesā?

Laikā serializācija , java izpildlaiks ar katru saista versijas numuru serializējams klasē. Šis numurs zvanīja serialVersionUID , ko izmanto deserializācijas laikā, lai pārbaudītu, vai sūtītājs un saņēmējs a serializēts objektam ir ielādētas klases šim objektam, kas ir saderīgas ar serializācija.

Ieteicams: