java.lang.Object
java.rmi.MarshalledObject<T>
- 类型参数:
-
T
- 此MarshalledObject
中包含的对象的类型
- 所有已实现的接口:
-
Serializable
MarshalledObject
包含一个字节流,其中包含给定给其构造函数的对象的序列化表示。 get
方法返回原始对象的新副本,从包含的字节流反序列化而来。 包含的对象使用与RMI调用的参数和返回值编组和解组时相同的序列化语义进行序列化和反序列化:当创建序列化形式时:
- 类被注释为可以加载类的代码库URL(如果可用),以及
MarshalledObject
中的任何远程对象都由其存根的序列化实例表示。
当检索对象的副本(通过get
方法)时,如果类在本地不可用,则将从适当位置加载它(在序列化类时使用类描述符注释的URL指定位置)。
MarshalledObject
有助于在RMI调用中传递不会立即被远程对等体自动反序列化的对象。
- 自版本:
- 1.2
- 另请参阅:
-
Constructor Summary
-
Method Summary
-
Constructor Details
-
MarshalledObject
创建一个包含所提供对象当前状态的序列化表示的新MarshalledObject
。对象使用用于RMI调用的编组参数的语义进行序列化。- 参数:
-
obj
- 要序列化的对象(必须是可序列化的) - 抛出:
-
IOException
- 如果发生IOException
;如果obj
不可序列化,则可能会发生IOException
。 - 自版本:
- 1.2
-
-
Method Details
-
get
返回包含的marshalledobject的新副本。内部表示使用用于RMI调用的解组参数的语义进行反序列化。如果MarshalledObject是从ObjectInputStream读取的,则使用该流的过滤器来反序列化对象。- 返回:
- 包含对象的副本
- 抛出:
-
IOException
- 如果从其内部表示中反序列化对象时发生IOException
。 -
ClassNotFoundException
- 如果从其内部表示中反序列化对象时发生ClassNotFoundException
。找不到 - 自版本:
- 1.2
-
hashCode
public int hashCode()返回此MarshalledObject
的哈希码。 -
equals
将此MarshalledObject
与另一个对象进行比较。 如果且仅当参数引用包含与此对象完全相同的对象的序列化表示的MarshalledObject
时,返回true。 比较会忽略任何类代码库注释,这意味着如果两个对象具有相同的序列化表示,除了每个类的代码库之外,它们是等价的。
-