模块  java.rmi
软件包  java.rmi

Class MarshalledObject<T>

  • 参数类型
    T - 此 MarshalledObject包含的对象的类型
    实现的所有接口
    Serializable

    public final class MarshalledObject<T>
    extends Object
    implements Serializable
    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
        返回包含的marshalledobject的新副本。 使用用于RMI调用的解组参数的语义对内部表示进行反序列化。 如果从ObjectInputStream读取MarshalledObject,则使用该流中的过滤器反序列化该对象。
        结果
        包含对象的副本
        异常
        IOException - 如果在从内部表示反序列化对象时发生 IOException
        ClassNotFoundException - 如果在从内部表示反序列化对象时发生ClassNotFoundException 无法找到
        从以下版本开始:
        1.2
      • equals

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