Sobes.tech
Junior

Какво означава ключовата дума transient в Java?

sobes.tech AI

Отговор от 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 за референтните типове).