ObjectStreamClass
java.lang.Object
|—java.io.ObjectStreamClass
public class ObjectStreamClass
extends Object
implements Serializable
类的序列化描述符。 它包含类的名称和 serialVersionUID。 可以使用查找方法找到/创建此 Java VM 中加载的特定类的 ObjectStreamClass。
计算 SerialVersionUID 的算法在对象序列化规范,第 4.6 节,流唯一标识符中描述。
Since:
JDK1.1
字段摘要
修饰符和类型 | 字段 | 描述 |
---|---|---|
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 | 获取描述符的类 |
返回:
指定类的类描述符
Since:
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()
返回此可序列化类的字段数组。
返回:
包含此类的每个持久字段的元素的数组。 如果没有字段,则返回长度为零的数组。
Since:
1.2
getField
public ObjectStreamField getField(String name)
按名称获取此类的字段。
参数:
参数名称 | 参数描述 |
---|---|
name | 要查找的数据字段的名称 |
返回:
命名字段的 ObjectStreamField 对象,如果没有这样的命名字段,则返回 null。
toString
public String toString()
返回描述此 ObjectStreamClass 的字符串。
覆盖:
类 Object 中的 toString
返回:
对象的字符串表示形式。