Java ObjectStreamClass
1 什么是Java ObjectStreamClass
ObjectStream 类充当类的序列化描述符。这个类中包含的名称和类的serialVersionUID。
2 Java ObjectStreamClass的属性
修饰符 | 属性名 | 描述 |
---|---|---|
static ObjectStreamField[] | NO_FIELDS | serialPersistentFields值,表示没有可序列化的字段 |
3 Java ObjectStreamClass的方法
修饰符 | 方法名 | 描述 |
---|---|---|
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的字符串。 |
4 Java ObjectStream的例子
Student.java:
package com.yiidian;
import java.io.Serializable;
/**
*一点教程网: http://www.yiidian.com
*/
public class Student implements Serializable{
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Demo.java:
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java ObjectStreamClass的例子
*/
import java.io.ObjectStreamClass;
import java.util.Calendar;
public class Demo {
public static void main(String[] args) {
// create a new object stream class
ObjectStreamClass osc = ObjectStreamClass.lookup(Student.class);
// get the value field from ObjectStreamClass
System.out.println("" + osc.getField("name"));
// 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"));
}
}
输出结果为:
Ljava/lang/String; name
null
热门文章
优秀文章