Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

transient java关键字

作者:热血震荡   发布日期:2025-12-04   浏览:114

import java.io.*;

class Employee implements Serializable {
    // transient关键字用于声明不希望被序列化的变量
    private transient String password;
    private String name;

    public Employee(String name, String password) {
        this.name = name;
        this.password = password;
    }

    @Override
    public String toString() {
        return "Employee{name='" + name + "', password='" + password + "'}";
    }

    public static void main(String[] args) {
        Employee emp = new Employee("John Doe", "secret");

        // 序列化对象
        try (ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("employee.ser"))) {
            oos.writeObject(emp);
            System.out.println("Object has been serialized");

            // 反序列化对象
            try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("employee.ser"))) {
                Employee deserializedEmp = (Employee) ois.readObject();
                System.out.println("Deserialized object: " + deserializedEmp);
            }
        } catch (IOException | ClassNotFoundException e) {
            e.printStackTrace();
        }
    }
}

解释说明:

  • transient 关键字用于声明不希望被序列化的变量。在上面的代码中,password 字段被标记为 transient,因此在序列化过程中不会被保存到文件中。
  • 当我们反序列化对象时,password 字段将不会恢复其原始值,而是保持为默认值(对于字符串类型,默认值是 null)。
  • 这个特性常用于保护敏感信息(如密码),确保它们不会意外地被保存或传输。

上一篇:java获取当前时间年月日时分秒

下一篇:java json转对象

大家都在看

java判断是windows还是linux

java连接数据库的代码

java djl

ubuntu 卸载java

es java api

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站