java.rmi.MarshalledObject es una clase java, MarshalledObject contiene un flujo de bytes con la representación serializada de un objeto dado a su constructor. El objeto contenido se serializa y deserializa con la misma semántica de serialización que se usa para calcular y desclasificar parámetros.
Firma
public final class MarshalledObject<T> extends Object implements Serializable
Constructor
MarshalledObject (objeto T) : MarshalledObject (objeto T) inicializa una nueva instancia de la clase MarshalledObject que contiene la representación serializada del estado actual del objeto proporcionado.
MarshalledObject m = new MarshalledObject(T object);
Nota : m es la nueva instancia de la clase MarshalledObject.
Métodos
La clase MarshalledObject contiene tres métodos denominados como:
- código hash()
- obtener()
- es igual a (Objeto objeto)
Discutamos los tres métodos de esta clase individualmente para obtener una mejor comprensión. Aquí vamos:
1. Método MarshalledObject.hashCode()
Es parte de la clase java.rmi.MarshalledObject, el método hashCode() devolverá el código hash asociado con este MarshalledObject.
Sintaxis:
public int hashCode().
Tipo de devolución del método: el método hashCode() tiene un tipo de devolución int y devolverá un código hash para este MarshalledObject
Cómo invocar el método hashCode()
Paso 1: primero cree una instancia de MarshalledObject y pase el objeto a serializar.
MarshalledObject marshalledObject = new MarshalledObject(object);
Paso 2: Ahora invoque el método hashCode() para obtener el código hash de este MarshalledObject
int code = marshalledObject.hashCode();
Ejemplo: programa Java para obtener el código hash usando el método 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()); } } }
Producción:
Hash code for this marshalled object is -571669764
2. Método MarshalledObject.get()
Es parte de la clase java.rmi.MarshalledObject, el método get() devolverá una nueva copia del objeto marshalledObject contenido.
Firma del método
public T get() throws IOException, ClassNotFoundException.
Tipo de devolución del método: el método get() devolverá la copia del MarshalledObject contenido.
Parámetro: el método get() no tiene ningún parámetro
Excepción: el método get() podría generar IOException,ClassNotFoundException.
¿Cómo invocar el método get()?
Paso 1: primero cree una instancia de MarshalledObject y pase el objeto a serializar.
MarshalledObject marshalledObject = new MarshalledObject(object);
Paso 2: Ahora invoque el método get() para obtener la nueva copia de este MarshalledObject.
Object obj = marshalledObject.get();
Ejemplo: programa Java para obtener la copia de MarshalledObject usando el método MarshalledObject.get()
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()); } } }
Producción:
Copy marshalled object is tmp@66cd51c3 Original marshalled object is tmp@63c12fb0
3. Método MarshalledObject.equals()
Es una parte de la clase java.rmi.MarshalledObject, el método equals() comparará este MarshalledObject con otro objeto, si ambos objetos serializados son iguales, este método devolverá verdadero, de lo contrario, falso.
Firma del método
public boolean equals(Object obj).
Tipo de retorno del método: el método equals() tiene un tipo de retorno booleano. Devolverá verdadero si el argumento se refiere a un MarshalledObject que contiene exactamente la misma representación serializada de un objeto que este.
Parámetro del método: el método equals() tiene un parámetro de tipo de objeto.
¿Cómo invocar el método equals()?
Paso 1: primero cree una instancia de MarshalledObject y pase el objeto a serializar.
MarshalledObject marshalledObjectOne = new MarshalledObject(object); MarshalledObject marshalledObjectTwo = new MarshalledObject(object);
Paso 2: Ahora invoque el método equals() para comparar marshalledObject con el argumento pasado al método equals().
boolean isSame = marshalledObjectOne.equals(marshalledObjectTwo);
Ejemplo: Programa Java para comparar este MarshalledObject usando el método MarshalledObject.equals()
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()); } } }
Producción:
marshalledObjectOne and marshalledObjectTwo are same : true
Publicación traducida automáticamente
Artículo escrito por harshsethi2000 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA