Scala中isInstanceOf/asInstanceOf关键字详解

  • 这两个关键字主要用于类型判断.

在Java中,我们可以使用instanceof关键字来判断类型、以及(类型)object【比如(Map)new HashMap将HashMap转换为Map】来进行强制类型转换

scala中对象提供isInstanceOf和asInstanceOf方法用于类型判断:

  • isInstanceOf判断对象是否为指定类的对象
  • asInstanceOf将对象转换为指定类型

用法:

// 判断对象是否为指定类型
val trueOrFalse:Boolean = 对象.isInstanceOf[类型]
// 将对象转换为指定类型
val 变量 = 对象.asInstanceOf[类型]


例子: 
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)
    }}
}

猜你喜欢

转载自blog.csdn.net/m0_49834705/article/details/113089728