- 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
-
-