- 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 方法 描述 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()
返回描述此字段的字符串。
-
-
-
构造方法详细信息
-
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
- 要比较的对象。 - 结果
- 负整数,零或正整数,因为该对象小于,等于或大于指定对象。
-
-