阅读(1866) (0)

鸿蒙OS ObjectStreamField

2022-10-17 09:44:54 更新

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。

方法总结

修饰符和类型 方法 描述
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() 返回描述该字段的字符串。
从类 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

返回:

对象的字符串表示形式。