Module  java.base
软件包  java.io

Class ObjectStreamField

  • All Implemented Interfaces:
    Comparable<Object>


    public class ObjectStreamField
    extends Object
    implements Comparable<Object>
    Serializable类的Serializable字段的描述。 ObjectStreamFields的数组用于声明一个类的Serializable字段。
    从以下版本开始:
    1.2
    另请参见:
    ObjectStreamClass
    • 构造方法详细信息

      • 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 - 要比较的对象。
        结果
        负整数,零或正整数,因为该对象小于,等于或大于指定对象。
      • toString

        public String toString​()
        返回描述此字段的字符串。
        重写:
        toStringObject
        结果
        对象的字符串表示形式。