Java中的transient关键字介绍

 更新时间:2015年03月26日 21:04:58   投稿:mdxy-dxy  
这篇文章主要介绍了Java中的transient关键字介绍,需要的朋友可以参考下

transient说明一个属性是临时的,不会被序列化。
下面是一个Demo,name声明为 transient,不被序列化

package com.zzs.tet;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.Serializable;

public class TransientDemo implements Serializable{
  /**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private transient String name;
  private String password;
  
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

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

	/**
	 * @param args
	 * @throws IOException 
	 * @throws FileNotFoundException 
	 * @throws ClassNotFoundException 
	 */
	public static void main(String[] args) throws FileNotFoundException, IOException, ClassNotFoundException {
		// TODO Auto-generated method stub
		String path="D:"+File.separator+"object.txt";
		File file=new File(path);
		TransientDemo transientDemo=new TransientDemo();
		transientDemo.setName("姓名");
		transientDemo.setPassword("密码");
		ObjectOutput output=new ObjectOutputStream(new FileOutputStream(file));
		output.writeObject(transientDemo);
		ObjectInput input=new ObjectInputStream(new FileInputStream(file));
		TransientDemo demo=(	TransientDemo )input.readObject();
		System.out.println(demo.getName()+demo.getPassword());
	}

}

输出结果:

null密码

相关文章

  • Redisson分布式闭锁RCountDownLatch的使用详细讲解

    Redisson分布式闭锁RCountDownLatch的使用详细讲解

    分布式锁和我们java基础中学习到的synchronized略有不同,synchronized中我们的锁是个对象,当前系统部署在不同的服务实例上,单纯使用synchronized或者lock已经无法满足对库存一致性的判断。本次主要讲解基于rediss实现的分布式锁
    2023-02-02
  • Java+mysql用户注册登录功能

    Java+mysql用户注册登录功能

    这篇文章主要为大家详细介绍了Java结合mysql实现用户注册登录功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • spring @Conditional的使用与扩展源码分析

    spring @Conditional的使用与扩展源码分析

    这篇文章主要介绍了spring @Conditional的使用与扩展,这里需要注意如果Condition返回的是false,那么spirng就不会对方法或类进行解析,具体源码分析跟随小编一起看看吧
    2022-03-03
  • 浅谈Java中Unicode的编码和实现

    浅谈Java中Unicode的编码和实现

    这篇文章向大家介绍了Java编程中Unicode编码及实现的相关内容,列举了几个字符不同表达式的比较,以及Unicode平面映射的知识,具有一点点参考价值,需要的朋友可以了解下。
    2017-10-10
  • SpringBoot中实现加载远程配置的代码示例

    SpringBoot中实现加载远程配置的代码示例

    本文章将通过结合consul config来讲解在springboot中如何加载远程配置:通过consul config加载consul server中存储的配置,需要的朋友可以参考下
    2023-06-06
  • 解决	Spring RestTemplate post传递参数时报错问题

    解决 Spring RestTemplate post传递参数时报错问题

    本文详解说明了RestTemplate post传递参数时报错的问题及其原由,需要的朋友可以参考下
    2020-02-02
  • 44条Java代码优化建议

    44条Java代码优化建议

    代码优化的最重要的作用应该是:避免未知的错误。因此,在写代码的时候,从源头开始注意各种细节,权衡并使用最优的选择,将会很大程度上避免出现未知的错误,从长远看也极大的降低了工作量
    2018-03-03
  • Spring MVC Locale 本地化示例详解

    Spring MVC Locale 本地化示例详解

    这篇文章主要为大家介绍了Spring MVC Locale本地化示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Spring中的异步方法@Async失效的原因详解

    Spring中的异步方法@Async失效的原因详解

    这篇文章主要介绍了Spring中的异步方法@Async失效的原因详解,@Async属于异步注解,@Async放在方法上标识该方法为异步方法,异步是指进程不需要一直等待下去,而是继续执行下面的操作,不管其他进程的状态,需要的朋友可以参考下
    2024-01-01
  • SpringBoot详解如果通过@Value注解给静态变量注入值

    SpringBoot详解如果通过@Value注解给静态变量注入值

    这篇文章主要介绍了springboot如何通过@Value给静态变量注入值,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06

最新评论