Java 如何仅序列化某些类变量?

Java 如何仅序列化某些类变量?,java,serialization,Java,Serialization,有没有可能选择一些我想要序列化的类变量 下面是一个简单的示例(只是为了演示如何使用序列化): 我有一个所有用户的数据库,每次启动我的应用程序,我都会看到一个包含所有用户的屏幕。 拥有所有用户的最新列表并不重要。为了获得更好的性能,我将返回的用户列表(来自数据库)保存到本地.dat文件中,在下一个应用程序启动时,用户将从.dat文件加载。.dat文件每N分钟刷新一次,或根据用户要求刷新一次。。。 出于安全考虑,我不想将密码保存到本地.dat文件,只保存用户名、电子邮件和朋友就足够了。 如何实现这一

有没有可能选择一些我想要序列化的类变量

下面是一个简单的示例(只是为了演示如何使用序列化): 我有一个所有用户的数据库,每次启动我的应用程序,我都会看到一个包含所有用户的屏幕。 拥有所有用户的最新列表并不重要。为了获得更好的性能,我将返回的用户列表(来自数据库)保存到本地.dat文件中,在下一个应用程序启动时,用户将从.dat文件加载。.dat文件每N分钟刷新一次,或根据用户要求刷新一次。。。 出于安全考虑,我不想将密码保存到本地.dat文件,只保存用户名、电子邮件和朋友就足够了。 如何实现这一点,我需要创建一个单独的UserWithoutPassword类,还是可以选择变量进行序列化

@实体
类用户实现可序列化{
字符串用户名;
字符串电子邮件;
字符串密码;
列出朋友;
}

谢谢

您只需将一些字段声明为瞬态:

transient int doNotSerialize;

它们将不会被序列化。

另一种方法是声明一个字段,并用要序列化的字段名填充它