Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可序列化类中的不可序列化字段(临时关键字)_Java_Oop_Serialization_Transient - Fatal编程技术网

Java 可序列化类中的不可序列化字段(临时关键字)

Java 可序列化类中的不可序列化字段(临时关键字),java,oop,serialization,transient,Java,Oop,Serialization,Transient,我有一个扩展Servlet的可序列化类 public class FileDownload extends HttpServlet{ @SuppressWarnings("compatibility:6754389671327954013") private static final long serialVersionUID = 1L; private ResultSet rset; ...... } 我的问题是: rset对象是否在编译时或运行时自动转换

我有一个扩展Servlet的可序列化类

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


rset
对象是否在编译时或运行时自动转换为
transient
?或者我必须明确地将其标记为
瞬态
?(这是我的IDE JDeveloper发出的警告)。

你必须自己调用
transient
。但是你不能
序列化
对象,除非它实现
可序列化
接口。ResultSet就是这样的对象。

否,序列化不会忽略该字段-如果尝试序列化
FileDownload
的实例,将得到
java.io.NotSerializableException
。将其标记为瞬态。顺便问一下,
ResultSet
作为
Servlet
中的字段做什么?这不是线程安全的
ResultSet
在任何上下文中都只能是局部变量。

OTOH,为什么要将ResultSet存储在servlet中?教育类问题:)它可能是任何其他类型的对象第一句话毫无意义。第二个不正确:
ResultSet
根本不是一个对象,它是一个接口。