Clase java.rmi.MarshalledObject en Java

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:

  1. código hash()
  2. obtener()
  3. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *