干了这杯Java之transient关键字
2024-10-10 22:45:59
看源码的时候,发现transient这个关键字,不甚理解,查找资料发现:不被序列化
疑问:
- 静态变量是不是不被序列化?
public class User implements Serializable {
private static final long serialVersionUID = 2877054094045568710L;
private String username;
private transient String password;
private static int age;
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 int getAge() {
return age;
}
public void setAge(int age) {
User.age = age;
}
public static void main(String[] args) {
User user = new User();
user.setUsername("imeng");
user.setPassword("123456");
user.setAge(22);
try {
ObjectOutputStream os = new ObjectOutputStream(
new FileOutputStream("/Users/imeng/Desktop/user.txt"));
os.writeObject(user);
os.close();
} catch (IOException e) {
e.printStackTrace();
}
//序列号后改变Static的值
user.setAge(100);
ObjectInputStream oi;
try {
oi = new ObjectInputStream(new FileInputStream("/Users/imeng/Desktop/user.txt"));
User readUser = (User) oi.readObject();
System.out.println("username:" + readUser.getUsername());
System.out.println("transient关键字password:" + readUser.getPassword());
System.out.println("静态变量age:" + readUser.getAge());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
username:imeng
password:null
age:100
结论:
- transient关键字可以阻止序列化
- 序列号并不保存静态变量
最新文章
- java版简易socket客户端
- Android 利用RecyclerView.Adapter刷新列表中的单个view问题
- 把DATATABLE,DS中的内容用HTML的方式显示
- Solidworks安装界面是英文的解决办法
- 【转】POP3、SMTP和IMAP之间的区别和联系
- WinForm程序用使用List对象绑定DataGridView数据源
- CCF 201312-4	有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
- NetAdvantage
- (Map)利用Map,完成下面的功能:  从命令行读入一个字符串,表示一个年份,输出该年的世界杯冠军是哪支球队。如果该 年没有举办世界杯,则输出:没有举办世界杯。  附:世界杯冠军以及对应的夺冠年份,请参考本章附录。 附录 (Map)在原有世界杯Map 的基础上,增加如下功能: 读入一支球队的名字,输出该球队夺冠的年份列表。 例如,读入“巴西”,应当输出 1958 1962 1970 1
- JavaScript的Date 方法
- intent和intentfilter
- 配色问题lingo实现
- UVA 216 - Getting in Line
- 详解 RAC 中各种IP和监听的意义
- SQL测试题
- java第八次课堂笔记
- P1160 队列安排 luogu洛谷
- Ext.util.Format.date与Ext.Date.format区别, 转换时间戳
- spring boot(九)定时任务
- 广州商学院Python正方教务系统爬虫(获取个人信息成绩课表修改密码)