Java 열거형은 직렬화 및 역직렬화를 위한 직렬화 가능 인터페이스를 구현할 수 있습니다. 직렬화 메커니즘: 필요한 라이브러리를 가져옵니다. 열거형 인스턴스를 만듭니다. 객체 출력 스트림을 만듭니다. 출력 스트림에 열거형 인스턴스를 씁니다. 역직렬화 메커니즘: 필요한 라이브러리를 가져옵니다. 객체 입력 스트림을 만듭니다. 입력 스트림에서 열거형 인스턴스를 읽습니다.
Java 열거형은 일련의 상수 값을 나타내는 데이터 유형입니다. 이는 최종적이므로 변경할 수 없습니다. 불변성으로 인해 Java 열거형 유형은 파일에 저장하거나 직렬화를 통해 네트워크를 통해 전송할 수 있도록 Serialized
인터페이스를 구현할 수 있습니다. Serializable
接口,以便通过序列化将其存储到文件中或通过网络发送。
序列化将对象转换为字节流,以便可以将其存储或传输。要序列化一个枚举类,可以使用 ObjectOutputStream
类。以下是序列化枚举类的步骤:
import java.io.FileOutputStream; import java.io.ObjectOutputStream; public class EnumSerialization { public static void main(String[] args) { // 创建枚举类的实例 Color color = Color.BLUE; // 创建对象输出流 try (ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("enum.ser"))) { // 将枚举实例写入输出流 out.writeObject(color); } catch (Exception e) { e.printStackTrace(); } } // 枚举类 public enum Color { RED, BLUE, GREEN } }
反序列化将字节流转换回对象。要反序列化一个枚举类,可以使用 ObjectInputStream
ObjectOutputStream
클래스를 사용하세요. 열거형 클래스를 직렬화하는 단계는 다음과 같습니다. import java.io.FileInputStream; import java.io.ObjectInputStream; public class EnumDeserialization { public static void main(String[] args) { // 创建对象输入流 try (ObjectInputStream in = new ObjectInputStream(new FileInputStream("enum.ser"))) { // 从输入流中读取枚举实例 Color color = (Color) in.readObject(); // 打印枚举实例 System.out.println(color); } catch (Exception e) { e.printStackTrace(); } } // 枚举类 public enum Color { RED, BLUE, GREEN } }
ObjectInputStream
클래스를 사용하세요. 다음은 열거형 클래스를 역직렬화하는 단계입니다. 위 내용은 Java 열거 유형의 직렬화 및 역직렬화 메커니즘은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!