- java.lang.Object
-
- java.io.ObjectStreamField
-
- All Implemented Interfaces:
-
Comparable<Object>
public class ObjectStreamField extends Object implements Comparable<Object>
Serializable类的Serializable字段的描述。 ObjectStreamFields的数组用于声明一个类的Serializable字段。- 从以下版本开始:
- 1.2
- 另请参见:
-
ObjectStreamClass
-
-
构造方法摘要
构造方法 Constructor 描述 ObjectStreamField(String name, Class<?> type)创建一个具有指定类型的Serializable字段。ObjectStreamField(String name, Class<?> type, boolean unshared)创建一个ObjectStreamField,表示具有给定名称和类型的可序列化字段。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 intcompareTo(Object obj)将此字段与另一个ObjectStreamField进行比较。StringgetName()获取此字段的名称。intgetOffset()实例数据内的字段偏移量。Class<?>getType()获取字段的类型。chargetTypeCode()返回字段类型的字符编码。StringgetTypeString()返回JVM类型签名。booleanisPrimitive()如果此字段具有原始类型,则返回true。booleanisUnshared()返回指示此ObjectStreamField实例表示的可序列化字段是否未共享的布尔值。protected voidsetOffset(int offset)实例数据偏移。StringtoString()返回描述此字段的字符串。
-
-
-
构造方法详细信息
-
ObjectStreamField
public ObjectStreamField(String name, Class<?> type)
创建一个具有指定类型的Serializable字段。 该字段应记录有一个serialField标签。- 参数
-
name- 可序列化字段的名称 -
type- 可序列化字段的Class对象
-
ObjectStreamField
public ObjectStreamField(String name, Class<?> type, boolean unshared)
创建一个ObjectStreamField,表示具有给定名称和类型的可序列化字段。 如果unshared为false,则表示的字段的值将以默认方式进行序列化和反序列化,如果该字段为非原始对象,则对象值进行序列化和反序列化,就像已经通过对writeObject和readObject的调用进行写入和读取一样。 如果非共享为真,则表示的字段的值将被序列化和反序列化,就好像它们已经被writeUnshared和readUnshared的调用写入和读取一样。- 参数
-
name- 字段名称 -
type- 字段类型 -
unshared- 如果为false,unshared与writeObject / readObject相同的方式写入/读取字段值; 如果为true,则以与writeUnshared / readUnshared相同的方式写入/读取 - 从以下版本开始:
- 1.4
-
-
方法详细信息
-
getName
public String getName()
获取此字段的名称。- 结果
-
一个
String表示可序列化字段的名称
-
getType
public Class<?> getType()
获取字段的类型。 如果该类型是非原始的,并且该ObjectStreamField是从反序列化的ObjectStreamClass实例获得的,则返回Object.class。 否则,将返回该字段类型的Class对象。- 结果
-
表示可序列化字段类型的
Class对象
-
getTypeCode
public char getTypeCode()
返回字段类型的字符编码。 编码如下:B byte C char D double F float I int J long L class or interface S short Z boolean [ array
- 结果
- 可序列化字段的类型代码
-
getTypeString
public String getTypeString()
返回JVM类型签名。- 结果
- 如果此字段具有原始类型,则为null。
-
getOffset
public int getOffset()
实例数据内的字段偏移量。- 结果
- 该字段的偏移量
- 另请参见:
-
setOffset(int)
-
setOffset
protected void setOffset(int offset)
实例数据偏移。- 参数
-
offset- 字段的偏移量 - 另请参见:
-
getOffset()
-
isPrimitive
public boolean isPrimitive()
如果此字段具有原始类型,则返回true。- 结果
- 当且仅当该字段对应于原始类型时才为真
-
isUnshared
public boolean isUnshared()
返回指示此ObjectStreamField实例表示的可序列化字段是否未共享的布尔值。- 结果
-
true如果此字段是非共享的 - 从以下版本开始:
- 1.4
-
compareTo
public int compareTo(Object obj)
将此字段与另一个ObjectStreamField进行比较。 如果此值较小,返回-1,如果相等则返回0,如果更大则返回1。 原始类型的类型比对象类型“小”。 如果相等,则比较字段名称。- Specified by:
-
compareTo在接口Comparable<Object> - 参数
-
obj- 要比较的对象。 - 结果
- 负整数,零或正整数,因为该对象小于,等于或大于指定对象。
-
-