Java教程

Java ObjectStreamField

来自Serializable类的Serializable字段的描述。 ObjectStreamFields的array用于声明类的Serializable字段。
java.io.ObjectStreamClass.getField(String name)方法按名称获取此类的字段。

构造函数

构造函数 说明
ObjectStreamField(String name, Class type) 它将创建具有指定类型的序列化字段。
ObjectStreamField(String name, Class type, boolean unshared) 它将创建一个ObjectStreamField,它表示具有给定名称和类型的可序列化字段。

方法

修饰符和类型 方法 说明
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() 它返回描述此字段的字符串。
公共字符getTypeCode()
返回字段类型的字符编码。编码如下:
B byte
C char
D double
F float
i int
J long
L class or interface
S short
Z boolean
[ array
返回:
可序列化字段的类型代码

示例:

import java.io.ObjectStreamClass;
import java.util.Calendar;
public class ObjectStreamClassExample {
    public static void main(String[] args) {
        class osc = ObjectStreamClass.lookup(String.class);
        class for integers System.out.println("" + osc.getField("value"));
        class for Calendar ObjectStreamclass osc2 = ObjectStreamClass.lookup(Calendar.class);
        class instance for osc2 System.out.println("" + osc2.getField("isTimeSet"));
    }
}
输出:
I valueZ isTimeSet

昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4