java.rmi
类 MarshalledObject<T>
java.lang.Object
java.rmi.MarshalledObject<T>
- 类型参数:
T
- 包含在此 MarshalledObject
中的对象类型
- 所有已实现的接口:
- Serializable
public final class MarshalledObject<T>
- extends Object
- implements Serializable
MarshalledObject
包含一个字节流,该流具有给定了其构造方法的对象的序列化表示形式。在从包含的字节流进行反序列化时,get
方法会返回原始对象的一个新的副本。包含的对象使用相同的用来编组和解组参数的序列化语义进行序列化和反序列化,并返回 RMI 调用的值:创建序列化形式时:
- 使用可以从中加载类(如果可用)的基本代码 URL 对类进行注释,并且
MarshalledObject
中的任何远程对象都由其 stub 的序列化实例表示。
当获取对象的副本时(通过 get
方法),如果本地没有提供此类,则从适当的位置加载它(该位置是由 URL 指定的,在对类序列化时就已经将此 URL 注释了该类的描述符)。
MarshalledObject
便于将对象传入 RMI 调用,该调用不会立即通过远程同位体自动进行反序列化。
- 从以下版本开始:
- 1.2
- 另请参见:
- 序列化表格
方法摘要 |
---|
boolean | equals(Object obj) 将此 MarshalledObject 与另一对象进行比较。 |
T | get() 返回所包含的 marshalledobject 的新副本。 |
int | hashCode() 返回该 MarshalledObject 的哈希码。 |
MarshalledObject
public MarshalledObject(T obj)
throws IOException
- 创建一个新的
MarshalledObject
,它包含所提供对象的当前状态的序列化表示形式。使用用于 RMI 调用的编组参数的语义序列化该对象。 - 参数:
obj
- 要序列化的对象(必须是可序列化的) - 抛出:
IOException
- 如果发生 IOException
;如果 obj
不是可序列化的,则可能发生 IOException
。 - 从以下版本开始:
- 1.2
get
public T get()
throws IOException,
ClassNotFoundException
- 返回所包含的 marshalledobject 的新副本。使用用于 RMI 调用的解编参数的语义反序列化内部表示形式。
- 返回:
- 所包含对象的副本
- 抛出:
IOException
- 如果从其内部表示形式反序列化对象时发生 IOException
。 ClassNotFoundException
- 如果无法找到从其内部表示形式进行反序列化的对象时发生 ClassNotFoundException
。 - 从以下版本开始:
- 1.2
hashCode
public int hashCode()
- 返回该
MarshalledObject
的哈希码。 - 覆盖:
- 类
Object
中的 hashCode
- 返回:
- 哈希码
- 另请参见:
Object.equals(java.lang.Object)
, Hashtable
equals
public boolean equals(Object obj)
- 将此
MarshalledObject
与另一对象进行比较。当且仅当参数引用完全包含与此对象相同的对象序列化表示形式的 MarshalledObject
时,返回 true。该比较忽略任何基本代码注释,意味着如果两个对象具有相同的序列化表示形式(序列化表示形式中每个类的基本代码除外),则这两个对象等效。 - 覆盖:
- 类
Object
中的 equals
- 参数:
obj
- 要与此 MarshalledObject
比较的对象 - 返回:
- 如果参数包含等效的序列化对象,则返回
true
;否则返回 false
- 从以下版本开始:
- 1.2
- 另请参见:
Object.hashCode()
, Hashtable