鸿蒙OS开发文档 鸿蒙OS ObjectStreamField

2024-02-25 开发教程 鸿蒙OS开发文档 匿名 6

ObjectStreamField

java.lang.Object
|---java.io.ObjectStreamField

public class ObjectStreamField
extends Object
implements Comparable<Object>

来自 Serializable 类的 Serializable 字段的描述。 ObjectStreamFields 数组用于声明类的 Serializable 字段。

Since:

1.2

构造函数摘要

构造函数描述
ObjectStreamField(String name, Class<?> type)创建具有指定类型的 Serializable 字段。
ObjectStreamField(String name, Class<?> type, boolean unshared)创建一个表示具有给定名称和类型的可序列化字段的 ObjectStreamField。

方法总结

修饰符和类型方法描述
intcompareTo(Object obj)将此字段与另一个 ObjectStreamField 进行比较。
StringgetName()获取该字段的名称。
intgetOffset()实例数据中的字段偏移量。
Class<?>getType()获取字段的类型。
chargetTypeCode()返回字段类型的字符编码。
StringgetTypeString()返回 JVM 类型签名。
booleanisPrimitive()如果此字段具有原始类型,则返回 true。
booleanisUnshared()返回布尔值,指示此 ObjectStreamField 实例表示的可序列化字段是否未共享。
protected voidsetOffset(int offset)实例数据内的偏移量。
StringtoString()返回描述该字段的字符串。
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

构造函数详细信息

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 进行写入和读取一样。 如果 unshared 为真,则表示字段的值将被序列化和反序列化,就好像它们已通过调用 writeUnshared 和 readUnshared 进行写入和读取一样。

参数:

参数名称参数描述
name字段名称
type字段类型
unshared如果为 false,则以与 writeObject/readObject 相同的方式写入/读取字段值; 如果为 true,则以与 writeUnshared/readUnshared 相同的方式写入/读取

Since:

1.4

方法详情

getName

public String getName()

获取该字段的名称。

返回:

一个字符串,表示可序列化字段的名称

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

protected void setOffset(int offset)

实例数据内的偏移量。

参数:

参数名称参数描述
offset字段的偏移量

isPrimitive

public boolean isPrimitive()

如果此字段具有原始类型,则返回 true。

返回:

当且仅当此字段对应于原始类型时才为 true

isUnshared

public boolean isUnshared()

返回布尔值,指示此 ObjectStreamField 实例表示的可序列化字段是否未共享。

返回:

如果此字段未共享,则为 true

Since:

1.4

compareTo

public int compareTo(Object obj)

将此字段与另一个 ObjectStreamField 进行比较。 如果小于则返回 -1,如果相等则返回 0,如果大于则返回 1。 原始类型比对象类型“小”。 如果相等,则比较字段名称。

指定者:

接口 ComparableObject 中的 compareTo

参数:

参数名称参数描述
obj要比较的对象。

返回:

负整数、零或正整数,因为此对象小于、等于或大于指定对象。

toString

public String toString()

返回描述该字段的字符串。

覆盖:

类 Object 中的 toString

返回:

对象的字符串表示形式。