- java.lang.Object
-
- java.rmi.MarshalledObject<T>
-
- 参数类型
-
T- 此MarshalledObject包含的对象的类型
- All Implemented Interfaces:
-
Serializable
public final class MarshalledObject<T> extends Object implements Serializable
AMarshalledObject包含具有给其构造函数的对象的序列化表示的字节流。get方法返回原始对象的新副本,从包含的字节流中反序列化。 包含的对象被序列化和反序列化,具有用于编组和解组参数的相同的序列化语义和RMI调用的返回值:当创建序列化表单时:- 类使用可以加载类的代码库URL进行注释(如果可用),以及
-
MarshalledObject中的任何远程对象由其存根的序列化实例表示。
检索对象的副本(通过
get方法),如果该类在本地不可用,则将从适当的位置加载(指定在类被序列化时用类描述符注释的URL。MarshalledObject有助于在远程对等体立即自动反序列化的RMI调用中传递对象。- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 Constructor 描述 MarshalledObject(T obj)创建一个新的MarshalledObject,其中包含所提供对象的当前状态的序列化表示。
-
-
-
构造方法详细信息
-
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
-
hashCode
public int hashCode()
返回这个MarshalledObject的哈希码。- 重写:
-
hashCode在Object - 结果
- 一个哈希码
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
将此MarshalledObject与另一个对象进行比较。 当且仅当参数引用包含与此对象完全相同的序列化表示形式的MarshalledObject,才返回true。 比较忽略任何类代码库注释,这意味着如果两个对象具有相同的序列化表示, 但序列化表示中的每个类的代码除外 。- 重写:
-
equals在Object - 参数
-
obj- 与此MarshalledObject比较的对象 - 结果
-
true如果参数包含一个等效的序列化对象; 否则为false - 从以下版本开始:
- 1.2
- 另请参见:
-
Object.hashCode(),HashMap
-
-