Назад к вопросам
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();
}