Назад к вопросам
Junior
123
questionbank
Что такое ключевое слово transient в Java?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Ключевое слово transient в Java используется для указания того, что поле класса не должно быть сериализовано, когда объект этого класса превращается в поток байтов.
Применение:
- Исключение из сериализации: Поля, помеченные как
transient, игнорируются стандартными механизмами сериализации (например, с использованиемObjectOutputStream). - Сценарии использования:
- Сохранение состояния, которое легко вычислить при десериализации (например, кэшированные данные).
- Избежание сериализации конфиденциальной информации (пароли, токены).
- Исключение из сериализации ресурсов, которые не могут быть сериализованы (например, потоки ввода/вывода).
Пример:
import java.io.Serializable;
class User implements Serializable {
private String username;
private transient String password; // Это поле не будет сериализовано
private int age;
public User(String username, String password, int age) {
this.username = username;
this.password = password;
this.age = age;
}
// Геттеры и сеттеры
}