Fundición de objetos en Scala

Para convertir un objeto (es decir, una instancia) de un tipo a otro tipo, es obligatorio utilizar el método asInstanceOf . Este método se define en Class Any , que es la raíz de la jerarquía de clases de Scala (como la clase Object en Java). El método asInstanceOf pertenece a miembros de valor concreto de Class Any que se utiliza para convertir el objeto receptor. 
 

Aplicaciones del método asInstanceof
  • Esta perspectiva es necesaria para manifestar beans desde un archivo de contexto de aplicación.
  • También se utiliza para convertir tipos numéricos.
  • Incluso se puede aplicar en códigos complejos como comunicarse con Java y enviarle una serie de instancias de objetos.
Ejemplos de conversión usando el método asInstanceof
  • Conversión de entero a flotante. 
    Ejemplo : 

Scala

// Scala program of Object Casting
// Int to Float
case class Casting(a:Int)
 
// Creating object
object GfG
{
     
    // Main method
    def main(args:Array[String])
    {
         val a = 10
         
        // Casting value of a into float
        val b = a.asInstanceOf[Float]
     
        println("The value of a after" +
        " casting into float is " + b)
    }
}
Producción: 

The value of a after casting into float is 10.0

 

  • Aquí, el tipo de ‘a’ es Integer y después de convertir el tipo será Float, es el ejemplo de Casting de tipos numéricos.
  • Conversión de carácter a entero. 
    Ejemplo : 

Scala

// Scala program of Object Casting
// Char to Int
case class Casting(c:Char)
 
// Creating object
object GfG
{
     
    // Main method
    def main(args:Array[String])
    {
         val c = 'c'
         
        // Casting value of c into Int
        val d = c.asInstanceOf[Int]
     
        println("The value of c after" +
        " casting into Integer is " + d)
    }
}

Producción:

The value of c after casting into Integer is 99
  • Aquí, el tipo de ‘c’ es un carácter y, después de la conversión, el tipo será un número entero, lo que da un valor ASCII de ‘c’.
  • Conversión de flotante a entero. 
    Ejemplo : 

Scala

// Scala program of Object Casting
// Float to Int
case class Casting(a:Float, b:Float)
 
// Creating object
object GfG
{
     
    // Main method
    def main(args:Array[String])
    {
         val a = 20.5
         val b = 10.2
         
        // Casting value of c into Int
        val c = (a/b).asInstanceOf[Int]
     
        println("The value of division after" +
        " casting float into Integer will be " + c)
    }
}

Producción:

The value of division after casting float into Integer will be 2
  • Aquí, el tipo de ‘a’ y ‘b’ es flotante, pero después de Casting, el tipo será flotante.

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh 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 *