Sobes.tech
Junior

Cosa significa la parola chiave transient in Java?

sobes.tech AI

Risposta dell'AI

Si applica ai campi della classe e indica che tale campo non deve essere serializzato durante la serializzazione standard di Java (utilizzando java.io.Serializable).

import java.io.Serializable;

public class User implements Serializable {
    private String username;
    private transient String password; // Questo campo non sarà serializzato
    private int age;

    // Costruttore, getter e setter
    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;
    }
}

Durante la deserializzazione, i campi transient saranno inizializzati con i valori predefiniti per il loro tipo (0 per i tipi primitivi numerici, false per boolean, null per i tipi di riferimento).