Что такое transient в Java?
В Java ключевое слово transient используется в контексте сериализации объектов. Когда поле класса помечено как transient, оно исключается из процесса сериализации, что означает, что его значение не сохраняется при преобразовании объекта в последовательность байтов. Это может быть полезно, если есть поля, которые не должны сохраняться или передаваться между системами.
Основные моменты:
- Не участвует в сериализации:
- Поле, помеченное как
transient, не участвует в процессе сериализации. При десериализации такое поле получит значение по умолчанию для своего типа.
- Поле, помеченное как
- Исключение временных данных:
- Ключевое слово
transientчасто используется для исключения временных данных, кэшей или другой информации, которая не должна сохраняться.
- Ключевое слово
- Сериализация пользовательских объектов:
- При реализации интерфейса
Serializableв пользовательских классах,transientможет быть применено к полям, которые не подлежат сериализации.
- При реализации интерфейса
class Person implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private transient int age; // Поле, помеченное transient
}
Комментарии