java之transient

作者: Sophie12138 | 来源:发表于2018-09-12 19:25 被阅读13次

在需要将对象序列化,但是不想序列化敏感信息时,使用transient关键字对jvm“说”我不想要序列化这个属性,注意transient只能运用在属性上,不能在方法,类。

如:

public class User implements Serializable {
    private static final long serialVersionUID = -8069315638464847330L;
    private String userName;
    private transient String password;

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

使用:

public class Main {
    public static void main(String[] args) throws IOException {
        User user = new User();
        user.setUserName("liao");
        user.setPassword("liso");

        System.out.println("read before Serializable: ");
        System.out.println("username: " + user.getUserName());
        System.out.println("password: " + user.getPassword());
        ObjectOutputStream outputStream = new ObjectOutputStream(new FileOutputStream("user.txt"));
        outputStream.writeObject(user);
        outputStream.flush();
        outputStream.close();

    }

}

ps:如果要序列化某个对象,需要在该对象的类实现Serializable接口,且生成serialVersionUID,在反序列化的时候与本地的类的serialVersionUID进行比较,一致则可以进行反序列化,不一致则会抛出异常InvalidCastException。

相关文章

  • transient

    What is transient? transient is a keyword in java, to kee...

  • java之transient

    在需要将对象序列化,但是不想序列化敏感信息时,使用transient关键字对jvm“说”我不想要序列化这个属性,注...

  • Java基础题

    transient和volatile是java关键字吗? transient是变量修饰符。标记为transient...

  • Effective Java 序列化

    AtomicReference transient java 的transient关键字 只需要实现Seriliz...

  • Java transient关键字小记

    transient义为短暂的。在Java中,transient和对象的序列化(持久化)息息相关。 在Java中,要...

  • java transient

    java 如果一个对象要实现Serilizable接口,但是一些隐私属性不需要序列化,例如身份证号和密码等,将不需...

  • Why does Java have transient fields?https://stackoverflow...

  • Java transient 关键字

    参考 stackoverflow - why-does-java-have-transient-fields 含义...

  • Java Volatile transient 关键字

    Java Volatile transient 关键字 java关键字volatile Volatile修饰的成员...

  • 无标题文章

    # java关键字## 一、transient### transient的作用及使用方法如何将非静态的数据不进行序...

网友评论

    本文标题:java之transient

    本文链接:https://www.haomeiwen.com/subject/nhrbgftx.html