java 中的 java.rmi.MarshalledObject 类
原文:https://www . geesforgeks . org/Java-RMI-marshalled object-class-in-Java/
java . RMI . MarshalledObject是一个 Java 类,一个 marshal leedobject 包含一个字节流,对象的序列化表示被赋予其构造函数,所包含的对象被序列化和反序列化,序列化语义与封送和解封参数的序列化语义相同。
签名
public final class MarshalledObject<T> extends Object implements Serializable
构造器
marshalleobject(T 对象)–marshalleobject(T 对象)初始化 marshalleobject 类的新实例,该实例包含所提供对象的当前状态的序列化表示。
MarshalledObject m = new MarshalledObject(T object);
注意 : m 是 MarshalledObject 类的新实例。
方法
MarshalledObject 类包含三个名为–
- hashCode()
- get()
- 等于(对象对象)
让我们单独讨论这门课的三种方法,以便更好地理解。开始了。
1.MarshalledObject.hashCode()方法
它是 java.rmi.MarshalledObject 类的一部分,hashCode()方法将返回与此 MarshalledObject 关联的哈希代码。
语法:
public int hashCode().
方法返回类型: hashCode()方法具有 int 返回类型,并将为此 MarshalledObject 返回一个哈希代码
如何调用 hashCode()方法
步骤 1: 首先创建一个 MarshalledObject 的实例,并传递要序列化的对象。
MarshalledObject marshalledObject = new MarshalledObject(object);
第 2 步:现在调用 hashCode()方法来获取这个 marshalledObject 的哈希代码
int code = marshalledObject.hashCode();
示例: Java 程序使用 MarshalledObject.hashCode()方法获取哈希代码
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to
// get the hash code
import java.io.*;
import java.rmi.*;
// create a serialized class
class tmp implements Serializable {
public int x;
}
class GFG {
public static void main(String[] args)
{
// invoke getHashCode
// method to get hashCode
getHashCode(new tmp());
}
@SuppressWarnings("unchecked")
public static void getHashCode(tmp t)
{
try {
MarshalledObject marshalledObject = new MarshalledObject(t);
// invoke hashCode method for this
// marshalledObject to get hash code
System.out.println("Hash code for this marshalled object is " + marshalledObject.hashCode());
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
输出:
Hash code for this marshalled object is -571669764
2.MarshalledObject.get()方法
它是 java.rmi.MarshalledObject 类的一部分,get()方法将返回包含的 MarshalledObject 的新副本。
方法签名
public T get() throws IOException,
ClassNotFoundException.
方法返回类型: get()方法将返回包含的 MarshalledObject 的副本。
参数: get()方法没有参数
异常: get()方法可能会引发 IOException,ClassNotFoundException。
如何调用 get()方法?
步骤 1: 首先创建一个 MarshalledObject 的实例,并传递要序列化的对象。
MarshalledObject marshalledObject = new MarshalledObject(object);
第 2 步:现在调用 get()方法来获取这个 marshalledObject 的新副本。
Object obj = marshalledObject.get();
示例: Java 程序使用 MarshalledObject.get()方法获取 MarshalledObject 的副本
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to get
// copy of marshalledObject
import java.io.*;
import java.rmi.*;
// create a serialized class
class tmp implements Serializable {
public int x;
}
class GFG {
public static void main(String[] args)
{
// invoke get method to get
// copy of marshalledObject
get(new tmp());
}
@SuppressWarnings("unchecked")
public static void get(tmp t)
{
try {
MarshalledObject marshalledObject = new MarshalledObject(t);
// invoke get method for this
// marshalledObject to get copy
// of marshalled object
System.out.println("Copy marshalled object is " + marshalledObject.get());
System.out.println("Original marshalled object is " + t);
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
输出:
Copy marshalled object is tmp@66cd51c3
Original marshalled object is tmp@63c12fb0
3.方法
它是 java.rmi.MarshalledObject 类的一部分,equals()方法将此 MarshalledObject 与另一个对象进行比较,如果两个序列化对象相同,则此方法将返回 true,否则返回 false。
方法签名
public boolean equals(Object obj).
方法返回类型: equals()方法具有布尔返回类型,如果参数引用的 MarshalledObject 包含与此对象完全相同的对象序列化表示形式,它将返回 true。
方法参数:等于()方法有一个对象类型的参数。
如何调用 equals()方法?
步骤 1: 首先创建一个 MarshalledObject 的实例,并传递要序列化的对象。
MarshalledObject marshalledObjectOne = new MarshalledObject(object);
MarshalledObject marshalledObjectTwo = new MarshalledObject(object);
第 2 步:现在调用 equals()方法,将 marshalledObject 与传递给 equals()方法的参数进行比较。
boolean isSame = marshalledObjectOne.equals(marshalledObjectTwo);
示例:使用 MarshalledObject.equals()方法比较这个 MarshalledObject 的 Java 程序
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to compare
// two marshalled object
import java.io.*;
import java.rmi.*;
// create a serialized class
class tmp implements Serializable {
public int x;
}
class GFG {
public static void main(String[] args)
{
// invoke compare method to to
// compare the marshalled object
compare(new tmp(),new tmp());
}
@SuppressWarnings("unchecked")
public static void compare(tmp a,tmp b)
{
try {
MarshalledObject marshalledObjectOne = new MarshalledObject(a);
MarshalledObject marshalledObjectTwo = new MarshalledObject(b);
// invoke equals method for this
// marshalledObject to compare
// the marshalled object
System.out.println("marshalledObjectOne and marshalledObjectTwo are same : "
+ marshalledObjectOne.equals(marshalledObjectTwo));
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
输出:
marshalledObjectOne and marshalledObjectTwo are same : true
版权属于:月萌API www.moonapi.com,转载请注明出处