java.io

接口
异常
错误
java.lang.Object
  继承者 java.io.ObjectStreamClass
所有已实现的接口:
Serializable

public class ObjectStreamClass
     
extends Object
implements Serializable

类的序列化描述符。它包含类的名称和 serialVersionUID。可以使用 lookup 方法找到/创建在此 Java VM 中加载的具体类的 ObjectStreamClass。

计算 SerialVersionUID 的算法在 Object Serialization Specification, Section 4.6, Stream Unique Identifiers 中描述。

从以下版本开始:
JDK1.1
另请参见:
ObjectStreamField, Object Serialization Specification, Section 4, Class Descriptors, 序列化表格

字段摘要
static ObjectStreamField[] NO_FIELDS
          指示不存在可序列化字段的 serialPersistentFields 值。
 
方法摘要
 Class<?> forClass()
          返回此版本所映射的本地 VM 中的类。
 ObjectStreamField getField(String name)
          按名称获取此类的字段。
 ObjectStreamField[] getFields()
          返回此可序列化类的字段组成的数组。
 String getName()
          返回由此描述符描述的类的名称。
 long getSerialVersionUID()
          返回此类的 serialVersionUID。
static ObjectStreamClass lookup(Class<?> cl)
          查找可序列化类的描述符。
static ObjectStreamClass lookupAny(Class<?> cl)
          返回任意类的描述符,不考虑它是否实现 Serializable
 String toString()
          返回描述此 ObjectStreamClass 的字符串。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

字段详细信息

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 的字符串。

覆盖:
Object 中的 toString
返回:
该对象的字符串表示形式。