Назад к вопросам
Junior
92
questionbank

Что означает ключевое слово transient в Java?

Sobes Copilot

Получайте ответы в реальном времени

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

sobes.tech AI

Применяется к полям класса и указывает, что данное поле не должно быть сериализовано при стандартной сериализации Java (с использованием java.io.Serializable).

import java.io.Serializable;

public 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;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public int getAge() {
        return age;
    }
}

При десериализации transient поля будут инициализированы значениями по умолчанию для их типа (0 для числовых примитивов, false для boolean, null для ссылочных типов).