El método cast() de la clase java.lang.Class se utiliza para convertir el objeto especificado en el objeto de esta clase. El método devuelve el objeto después de convertirlo en forma de objeto.
Sintaxis:
public T[] cast(Object obj)
Parámetro: este método acepta un parámetro obj que es el objeto sobre el que se va a emitir
Valor devuelto: este método devuelve el objeto especificado después de convertirlo en forma de objeto.
Excepción: este método arroja:
- ClassCastException: si el objeto no es nulo y no es asignable al tipo T.
Los siguientes programas demuestran el método cast().
Ejemplo 1:
// Java program to demonstrate // cast() method import java.util.*; public class Test { public static Object obj; public static void main(String[] args) throws ClassNotFoundException { // returns the Class object for this class Class myClass = Class.forName("Test"); System.out.println("Class represented by myClass: " + myClass.toString()); // Cast the object obj to object of myClass // using cast() method System.out.println("Object " + obj + " after cast " + "upon to class Test: " + myClass.cast(obj)); } }
Producción:
Class represented by myClass: class Test Object null after cast upon to class Test: null
Ejemplo 2:
// Java program to demonstrate // cast() method import java.util.*; class Main { private static int obj = 10; public static void main(String[] args) throws ClassNotFoundException { try { // returns the Class object for this class Class myClass = Class.forName("Main"); System.out.println("Class represented by myClass: " + myClass.toString()); // Cast the object obj to object of myClass // using cast() method System.out.println("Object " + obj + " after cast " + "upon to class Test: " + myClass.cast(obj)); } catch (Exception e) { System.out.println(e); } } }
Producción:
Class represented by myClass: class Main java.lang.ClassCastException: Cannot cast java.lang.Integer to Main
Referencia: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#cast-java.lang.Object-