- java.lang.Object
-
- java.rmi.MarshalledObject<T>
-
- 参数类型
-
T
- 此MarshalledObject
包含的对象的类型
- 实现的所有接口
-
Serializable
public final class MarshalledObject<T>extends Objectimplements Serializable
MarshalledObject
包含一个字节流,其中包含赋予其构造函数的对象的序列化表示。get
方法返回原始对象的新副本,从包含的字节流反序列化。 包含的对象被序列化和反序列化,具有用于编组和解组参数的相同序列化语义以及RMI调用的返回值:创建序列化表单时:- 类使用代码库URL进行注释,从中可以加载类(如果可用),以及
-
MarshalledObject
中的任何远程对象都由其存根的序列化实例表示。
当检索对象的副本时(通过
get
方法),如果该类在本地不可用,则将从适当的位置加载它(指定在序列化类时使用类描述符注释的URL。MarshalledObject
有助于在RMI调用中传递对象,这些对象不会被远程对等方立即自动反序列化。- 从以下版本开始:
- 1.2
- 另请参见:
- Serialized Form
-
-
构造方法摘要
构造方法 构造器 描述 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
返回包含的marshalledobject的新副本。 使用用于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
-
-