34

可能重复:
什么是 serialVersionUID,我为什么要使用它?
servlet(私有静态最终长序列版本UID = 1L)中的含义是什么?

我有一个关于我们教授给出的指导计划的简单问题。我已经多次看到serialVersionUID,但我不知道那是什么。

package module;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @author JA
 */
public class Servlet_1 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet{

    static final long serialVersionUID = 1L;

    public void doGet (HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

        response.setContentType("txt/html");

        ServletOutputStream out = response.getOutputStream();

        out.println("<html>");
        out.println("<head><title>Hello Panget</title></head>");
        out.println("<body>");
        out.println("<h1>Hello Panget</h1>");
        out.println("</body></html>");
    }

    protected void doPost (HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
            // Write your program here, Panget.
    }
}

在程序中有什么用static final long serialVersionUID = 1L;

4

1 回答 1

45

serialVersionUID是一个Serializable类的通用版本标识符。反序列化使用这个数字来确保加载的类与序列化的对象完全对应。如果没有找到匹配项,则InvalidClassException抛出 an。

于 2013-01-11T08:48:15.360 回答