scala的类型判断

类型判断
有时候,我们设计的程序,要根据变量的类型来执行对应的逻辑。
在这里插入图片描述
在scala中,如何来进行类型判断呢?
有两种方式: isInstanceOf getClass/classOf isInstanceOf/asInstanceOf
在Java中,我们可以使用instanceof关键字来判断类型、以及(类型)object来进行类型转换,在scala中如何实现呢?
scala中对象提供isInstanceOf和asInstanceOf方法。
isInstanceOf判断对象是否为指定类的对象
asInstanceOf将对象转换为指定类型

用法
// 判断对象是否为指定类型 val trueOrFalse:Boolean = 对象.isInstanceOf[类型] // 将对象转换为指定类型 val 变量 = 对象.asInstanceOf[类型]
示例
示例说明
定义一个Person类
定义一个Student类继承自Person类
创建一个Student类对象
判断该对象是否为Student类型,如果是,将其转换为Student类型并打印该对象
参考代码

class Person3
class Student3 extends Person3

object Main3 {
  def main(args: Array[String]): Unit = {
    val s1:Person3 = new Student3

    // 判断s1是否为Student3类型
    if(s1.isInstanceOf[Student3]) {
      // 将s1转换为Student3类型
      val s2 =  s1.asInstanceOf[Student3]
      println(s2)
    }
}
}

在这里插入图片描述
答案:
在这里插入图片描述

发布了139 篇原创文章 · 获赞 333 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/qq_45765882/article/details/104302859