模块 java.base
 java.io

类 ObjectStreamClass

java.lang.Object
java.io.ObjectStreamClass
所有已实现的接口:
Serializable

public final class ObjectStreamClass extends Object implements Serializable
类的序列化描述符。它包含类的名称和 serialVersionUID。可以使用查找方法找到/创建此 Java VM 中加载的特定类的 ObjectStreamClass。

Java 对象序列化规范,第 4.6 节,“流唯一标识符” 中描述了计算 SerialVersionUID 的算法。

自从:
1.1
参见:
  • 字段详细信息

    • NO_FIELDS

      public static final ObjectStreamField [] NO_FIELDS
      serialPersistentFields 值表示没有可序列化的字段
  • 方法详情

    • lookup

      public static ObjectStreamClass  lookup(Class <?> cl)
      查找可以序列化的类的描述符。如果类尚不存在,则创建一个 ObjectStreamClass 实例。如果指定的类未实现 java.io.Serializable 或 java.io.Externalizable,则返回 Null。
      参数:
      cl - 要为其获取描述符的类
      返回:
      指定类的类描述符
    • lookupAny

      public static ObjectStreamClass  lookupAny(Class <?> cl)
      返回任何类的描述符,无论它是否实现 Serializable
      参数:
      cl - 要为其获取描述符的类
      返回:
      指定类的类描述符
      自从:
      1.6
    • getName

      public String  getName()
      返回此描述符所描述的类的名称。此方法以 Class.getName() 方法使用的格式返回类的名称。
      返回:
      表示类名称的字符串
    • getSerialVersionUID

      public long getSerialVersionUID()
      返回此类的 serialVersionUID。 serialVersionUID 定义了一组具有相同名称的类,这些类是从公共根类演变而来的,并且同意使用公共格式进行序列化和反序列化。 NonSerializable 类的 serialVersionUID 为 0L。
      返回:
      此描述符描述的类的 SUID
    • forClass

      public Class <?> forClass()
      返回此版本映射到的本地 VM 中的类。如果没有相应的本地类,则返回 null。
      返回:
      这个描述符代表的 Class 实例
    • getFields

      public ObjectStreamField [] getFields()
      返回此可序列化类的字段数组。
      返回:
      包含此类的每个持久字段的元素的数组。如果没有字段,则返回一个长度为零的数组。
      自从:
      1.2
    • getField

      public ObjectStreamField  getField(String  name)
      按名称获取此类的字段。
      参数:
      name - 要查找的数据字段的名称
      返回:
      命名字段的 ObjectStreamField 对象,如果没有这样的命名字段,则返回 null。
    • toString

      public String  toString()
      返回描述此 ObjectStreamClass 的字符串。
      重写:
      toString 在类 Object
      返回:
      对象的字符串表示形式。