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;

    // Κατασκευαστής, getters και setters
    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 για τύπους αναφοράς).