Що таке 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
}
Коментарі