Module  java.rmi
软件包  java.rmi

Class MarshalledObject<T>

  • 参数类型
    T - 此 MarshalledObject包含的对象的类型
    All Implemented Interfaces:
    Serializable


    public final class MarshalledObject<T>
    extends Object
    implements Serializable
    A MarshalledObject包含具有给其构造函数的对象的序列化表示的字节流。 get方法返回原始对象的新副本,从包含的字节流中反序列化。 包含的对象被序列化和反序列化,具有用于编组和解组参数的相同的序列化语义和RMI调用的返回值:当创建序列化表单时:
    • 类使用可以加载类的代码库URL进行注释(如果可用),以及
    • MarshalledObject中的任何远程对象由其存根的序列化实例表示。

    检索对象的副本(通过get方法),如果该类在本地不可用,则将从适当的位置加载(指定在类被序列化时用类描述符注释的URL。

    MarshalledObject有助于在远程对等体立即自动反序列化的RMI调用中传递对象。

    从以下版本开始:
    1.2
    另请参见:
    Serialized Form
    • 构造方法详细信息

      • MarshalledObject

        public MarshalledObject​(T obj)
                         throws IOException
        创建一个新的MarshalledObject ,其中包含所提供对象的当前状态的序列化表示。 对象使用用于RMI调用的编组参数的语义进行序列化。
        参数
        obj - 要序列化的对象(必须是可序列化的)
        异常
        IOException - 如果发生IOException ; 一个IOException如果可能会出现obj不是可序列化。
        从以下版本开始:
        1.2
    • 方法详细信息

      • get

        public T get​()
              throws IOException,
                     ClassNotFoundException
        返回包含的编组对象的新副本。 内部表示被反序列化,用于解密RMI调用参数的语义。 如果从一个ObjectInputStream读取MarshalledObject,该流的过滤器用于反序列化该对象。
        结果
        包含对象的副本
        异常
        IOException - 如果从其内部表示反序列化对象时发生 IOException
        ClassNotFoundException - 如果从其内部表示反序列化对象时发生ClassNotFoundException 找不到
        从以下版本开始:
        1.2
      • equals

        public boolean equals​(Object obj)
        将此MarshalledObject与另一个对象进行比较。 当且仅当参数引用包含与此对象完全相同的序列化表示形式的MarshalledObject ,才返回true。 比较忽略任何类代码库注释,这意味着如果两个对象具有相同的序列化表示, 序列化表示中的每个类的代码除外
        重写:
        equalsObject
        参数
        obj - 与此 MarshalledObject比较的对象
        结果
        true如果参数包含一个等效的序列化对象; 否则为false
        从以下版本开始:
        1.2
        另请参见:
        Object.hashCode()HashMap