Java ObjectStream
ObjectStream 充当类的Serialization描述符。该类包含该类的名称和serialVersionUID。
字段
修饰符和类型 |
字段 |
说明 |
static ObjectStreamField [] |
NO_FIELDS |
serialPersistentFields值指示没有可序列化的字段 |
方法
修饰符和类型 |
方法 |
说明 |
Class
|
forClass() |
它将返回该版本所映射到的本地VM中的类。 |
ObjectStreamField |
getField(字符串名称) |
它按名称获取此类的字段。 |
ObjectStreamField[] |
getFields() |
它返回此序列化类的字段的array。 |
String |
getName() |
它返回此描述符描述的类的名称。 |
long |
getSerialVersionUID() |
它将返回此类的serialVersionUID。 |
static ObjectStreamClass |
lookup(Class <?> cl) |
它找到可以序列化的类的描述符。 |
static ObjectStreamClass |
lookupAny(Class <?> cl) |
它返回任何类的描述符,无论它是否实现Serializable。 |
String |
toString() |
它返回一个描述此ObjectStreamClass的字符串。 |
示例
import java.io.ObjectStreamClass;
import java.util.Calendar;
public class ObjectStreamClassExample {
public static void main(String[] args) {
// create a new object stream class for Integers
ObjectStreamclass osc = ObjectStreamClass.lookup(SmartPhone.class);
// get the value field from ObjectStreamclass for integers
System.out.println("" + osc.getField("price"));
// create a new object stream class for Calendar
ObjectStreamclass osc2 = ObjectStreamClass.lookup(String.class);
// get the class instance for osc2
System.out.println("" + osc2.getField("hash"));
}
}
输出: