可序列化类中的非可序列化字段(瞬态键工作)

时间:2012-07-05 14:15:26

标签: java oop serialization transient

我有一个扩展Servlet的可实现类

public class FileDownload extends HttpServlet{
  @SuppressWarnings("compatibility:6754389671327954013")
  private static final long serialVersionUID = 1L;
  private ResultSet rset;
  ......
}

我的问题是:

rset 对象是否在complie / run-time上自动转换为 transient 对象,还是必须将其明确标记为 transient ? (这是我的IDE JDeveloper提出的警告)。

2 个答案:

答案 0 :(得分:1)

你必须自己调用transient。但是你不能serialize一个对象,除非它实现了Serializable interface.ResultSet就是这种对象。

答案 1 :(得分:1)

不,序列化不会忽略该字段 - 如果您尝试序列化java.io.NotSerializableException的实例,则会获得FileDownload。标记transient。顺便说一句,它在Servlet中作为字段做了什么?