Sobes.tech
Junior

Was bedeutet das Schlüsselwort transient in Java?

sobes.tech KI

Antwort von AI

Gilt für Klassenfelder und gibt an, dass dieses Feld bei der Standard-Serialisierung in Java (unter Verwendung von java.io.Serializable) nicht serialisiert werden soll.

import java.io.Serializable;

public class User implements Serializable {
    private String username;
    private transient String password; // Dieses Feld wird nicht serialisiert
    private int age;

    // Konstruktor, Getter und 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;
    }
}

Beim Deserialisieren werden transient-Felder mit den Standardwerten für ihren Typ initialisiert (0 für numerische Primitive, false für boolean, null für Referenztypen).