Java ObjectStreamFiled
精华
小牛编辑
104浏览
2023-03-14
1 什么是Java ObjectStreamFiled
ObjectStreamFiled 类是可序列化字段来自Serializable类的描述。 ObjectStreamFields数组用来声明一个类的序列化字段。
2 Java ObjectStreamFiled的构造方法
构造方法 | 描述 |
---|---|
ObjectStreamField(String name, Class<?> type) | 创建具有指定类型的Serializable字段。 |
ObjectStreamField(String name, Class<?> type, boolean unshared) | 创建一个ObjectStreamField,表示具有给定名称和类型的可序列化字段。 |
3 Java ObjectStreamFiled的方法
修饰符 | 方法 | 描述 |
---|---|---|
int | compareTo(Object obj) | 将此字段与另一个ObjectStreamField进行比较。 |
String | getName() | 获取该字段的名称。 |
int | getOffset() | 实例数据中字段的偏移量。 |
Class<?> | getType() | 获取字段的类型。 |
char | getTypeCode() | 返回字段类型的字符编码。 |
String | getTypeString() | 返回JVM类型签名。 |
boolean | isPrimitive() | 如果此字段具有原始类型,则返回true。 |
boolean | isUnshared() | 返回布尔值,该布尔值指示此ObjectStreamField实例表示的可序列化字段是否未共享。 |
protected void | setOffset(int offset) | 实例数据中的偏移量。 |
String | toString() | 它返回描述此字段的字符串。 |
4 Java ObjectStreamFiled的例子
package cn.xnip;
/**
* 小牛知识库网: https://www.xnip.cn
*/
/**
* Java ObjectStreamField的例子
*/
import java.io.ObjectStreamClass;
import java.util.Calendar;
public class Demo {
public static void main(String[] args) {
// create a new object stream class for Integers
ObjectStreamClass osc = ObjectStreamClass.lookup(String.class);
// get the value field from ObjectStreamClass for integers
System.out.println("" + osc.getField("value"));
// create a new object stream class for Calendar
ObjectStreamClass osc2 = ObjectStreamClass.lookup(Calendar.class);
// get the Class instance for osc2
System.out.println("" + osc2.getField("isTimeSet"));
}
}
输出结果为:
null
Z isTimeSet