興味があるので調べてみた。
6.4.1 文法規則
newClassDesc:
TC_CLASSDESC className serialVersionUID newHandle classDescInfo
クラス名のあとに、serialVersionUIDがあるらしい。
java
1import javax.xml.bind.DatatypeConverter;
2import java.io.ByteArrayOutputStream;
3import java.io.ObjectOutputStream;
4import java.io.Serializable;
5
6public class xxHogeSerialVersionUID {
7 public static void main(final String[] args) throws Exception {
8 final ByteArrayOutputStream baos = new ByteArrayOutputStream();
9 final ObjectOutputStream oos = new ObjectOutputStream(baos);
10 oos.writeObject(new Data());
11 oos.close();
12 baos.close();
13 System.out.println(String.format("serialVersionUID: %s", Data.uid()));
14 System.out.println(DatatypeConverter.printHexBinary(baos.toByteArray()));
15 }
16
17 public static class Data implements Serializable {
18 // private static final long serialVersionUID = 1L;
19 private static final long serialVersionUID = -1L;
20
21 public static long uid() {
22 return serialVersionUID;
23 }
24 }
25}
private static final long serialVersionUID = 1L;
serialVersionUID: 1
ACED00057372001B7878486F676553657269616C56657273696F6E554944244461746100000000000000010200007870
private static final long serialVersionUID = -1L;
serialVersionUID: -1
ACED00057372001B7878486F676553657269616C56657273696F6E5549442444617461FFFFFFFFFFFFFFFF0200007870
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/07 14:02
2021/02/08 00:17