Java 枚举中的序列化
我正在尝试序列化枚举并反序列化。正如所料,我得到了“相同”的结果。但是我不知道它是怎么工作的。甚至我也检查了Java 枚举中的序列化,java,serialization,enums,Java,Serialization,Enums,我正在尝试序列化枚举并反序列化。正如所料,我得到了“相同”的结果。但是我不知道它是怎么工作的。甚至我也检查了Enum类。它没有那样的readResovle方法。请解释一下 enum是特殊的。你看过反编译的代码了吗?编译器生成了很多代码。@boris我知道enum是特殊的。但我想知道jdk将如何在序列化和反序列化中处理enum,因为所有jdk都是如此。我想知道怎么读。 public static void main(String[] args) { try { Objec
Enum
类。它没有那样的readResovle
方法。请解释一下 enum
是特殊的。你看过反编译的代码了吗?编译器生成了很多代码。@boris我知道enum是特殊的。但我想知道jdk将如何在序列化和反序列化中处理enum,因为所有jdk都是如此。我想知道怎么读。
public static void main(String[] args) {
try {
Object input = ABC.ad;
ObjectOutputStream objectOutputStream = new ObjectOutputStream(new FileOutputStream(new File("test.enum")));
objectOutputStream.writeObject(input);
objectOutputStream.close();
ObjectInputStream objectInputStream = new ObjectInputStream(new FileInputStream(new File("test.enum")));
Object outPut = objectInputStream.readObject();
objectInputStream.close();
if(input == outPut) {
System.out.println("Same ............"+input+" "+outPut);
}
} catch (Exception e) {
e.printStackTrace();
}
}
enum ABC {
ad,de;
}