Java教程-Java ObjectStreamClass

Java ObjectStreamClass
ObjectStreamClass作为类的序列化描述符。该类包含类的名称和serialVersionUID。
字段
Modifier and Type | Field | Description |
---|---|---|
static ObjectStreamField[] | NO_FIELDS | serialPersistentFields 值表示没有可序列化的字段 |
方法
Modifier and Type | Method | Description |
---|---|---|
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 的字符串。 |
示例
toString() It returns a string describing this ObjectStreamClass.
Example
import java.io.ObjectStreamClass;
import java.util.Calendar;
public class ObjectStreamClassExample {
public static void main(String[] args) {
// 为 Integers 创建一个新的对象流类
ObjectStreamClass osc = ObjectStreamClass.lookup(SmartPhone.class);
// 从 ObjectStreamClass 获取整数值字段
System.out.println("" + osc.getField("price"));
// 为 Calendar 创建一个新的对象流类
ObjectStreamClass osc2 = ObjectStreamClass.lookup(String.class);
// 获取 osc2 的类实例
System.out.println("" + osc2.getField("hash"));
}
}
输出:
I price
null