Portál AbcLinuxu, 7. prosince 2025 06:23
Dobry den, jaky je duvod psat do nekterych Java trid tento radek?
public static final long serialVersionUID = 1L;
A jinak psat serialVersionUID = 1L opravdu neprijde jako dobry napad.
A jinak psat serialVersionUID = 1L opravdu neprijde jako dobry napad.
A proč? Jen tak na okraj. 
serialVersionUID, než je serializace. A nastavení verze na jedničku také není problém, pokud se při nekompatibilní (z hlediska serializace) změně třídy verze změní.
Bylo to jen takove malicherne rypnuti, ze duvodem psani neni serializace, ale to, ze the default serialVersionUID computation is highly sensitive to class details. Jinak mi prislo, ze tazatel by nastavoval UID uplne vsude na 1 (i u nekompatibilnich verzi dane tridy), coz by asi byl problem. V principu ale, pokud to bude pro nekompatibilni verze menit, by to asi problem byt nemel (i kdyz musim rict, ze to na me pusobi zvlastne, nastavovat to na 1, ale to je asi ciste emocni zalezitost, racionalni duvody, proc by to tak nemelo byt, ted pro to nemam).
serialVersionUID, jenže to se pak může zase měnit zbytečně. Vlastně podle toho rozlišuju, zda se má o serialVersionUID starat programátor, nebo ho mám nechat vygenerovat když je tam nějaké malé číslo (nejčastěji 1), stará se o verzi programátor, když tam je nějaká hausnumero, nechám číslo vygenerovat.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.