java.lang.Object
java.io.ObjectStreamClass
- 所有已实现的接口:
-
Serializable
类的序列化描述符。它包含类的名称和serialVersionUID。可以使用lookup方法找到/创建在此Java虚拟机中加载的特定类的ObjectStreamClass。
计算SerialVersionUID的算法在 Java对象序列化规范,第4.6节“流唯一标识符”中描述。
- 自:
- 1.1
- 外部规范
- 参见:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final ObjectStreamField[]
serialPersistentFields值表示没有可序列化的字段 -
Method Summary
Modifier and TypeMethodDescriptionClass
<?> forClass()
返回此版本映射到的本地VM中的类。通过名称获取此类的字段。返回此可序列化类的字段数组。getName()
返回由此描述符描述的类的名称。long
返回此类的serialVersionUID。static ObjectStreamClass
查找可以序列化的类的描述符。static ObjectStreamClass
返回任何类的描述符,无论其是否实现Serializable
。toString()
返回描述此ObjectStreamClass的字符串。
-
Field Details
-
NO_FIELDS
serialPersistentFields值表示没有可序列化的字段
-
-
Method Details
-
lookup
查找可以序列化的类的描述符。如果指定的类尚未为类创建ObjectStreamClass实例,则创建一个。如果指定的类未实现java.io.Serializable或java.io.Externalizable,则返回null。- 参数:
-
cl
- 要获取描述符的类 - 返回:
- 指定类的类描述符
-
lookupAny
返回任何类的描述符,无论其是否实现Serializable
。- 参数:
-
cl
- 要获取描述符的类 - 返回:
- 指定类的类描述符
- 自:
- 1.6
-
getName
返回由此描述符描述的类的名称。此方法以Class.getName()
方法使用的格式返回类的名称。- 返回:
- 表示类名称的字符串
-
getSerialVersionUID
public long getSerialVersionUID()返回此类的serialVersionUID。serialVersionUID定义了一组所有具有相同名称且从共同根类演变而来的类,它们同意使用通用格式进行序列化和反序列化。NonSerializable类的serialVersionUID为0L。- 返回:
- 此描述符描述的类的SUID
-
forClass
返回此版本映射到的本地VM中的类。如果没有相应的本地类,则返回null。- 返回:
-
此描述符表示的
Class
实例
-
getFields
返回此可序列化类的字段数组。- 返回:
- 包含此类每个持久字段的元素的数组。如果没有字段,则返回长度为零的数组。
- 自:
- 1.2
-
getField
通过名称获取此类的字段。- 参数:
-
name
- 要查找的数据字段的名称 - 返回:
- 名为字段的ObjectStreamField对象,如果没有这样的命名字段则返回null。
-
toString
返回描述此ObjectStreamClass的字符串。
-