Sobes.tech
Назад к вопросам
Junior — Middle
68

Можешь перечислить основные классы, используемые для сериализации объектов в Java?

Компании, где спрашивали
Передовые Платежные Решения

Ответ от нейросети

sobes.tech AI

В Java для сериализации объектов используются следующие основные классы и интерфейсы:

  • java.io.Serializable — маркерный интерфейс, который должен реализовать класс, чтобы его объекты могли быть сериализованы.

  • ObjectOutputStream — класс для записи сериализованных объектов в поток вывода.

  • ObjectInputStream — класс для чтения сериализованных объектов из потока ввода.

Пример сериализации объекта:

import java.io.*;

class User implements Serializable {
    private static final long serialVersionUID = 1L;
    String name;
    int age;

    User(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

// Сериализация
User user = new User("Alice", 30);
try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("user.ser"))) {
    oos.writeObject(user);
} catch (IOException e) {
    e.printStackTrace();
}

// Десериализация
try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("user.ser"))) {
    User deserializedUser = (User) ois.readObject();
    System.out.println(deserializedUser.name + ", " + deserializedUser.age);
} catch (IOException | ClassNotFoundException e) {
    e.printStackTrace();
}