五-3, Scala 类型检查和转换, 枚举类, 应用类,定义新类型

1. 类型检查和转换

用法说明
obj.isInstanceOf[T] 判断obj是不是T类型, 返回布尔值
obj.asInstanceOf[T] 将pbj强转成T类型, 返回的是 包名.类名@地址
classOf[类名]获取对象的类名,返回的是 class 包名.类名
package patternmatchdemo

class Person{
}
object Person {
  def main(args: Array[String]): Unit = {
    val person = new Person
    //(1)判断对象是否为某个类型的实例
    val bool: Boolean = person.isInstanceOf[Person]
    if ( bool ) {
      //(2)将对象转换为某个类型的实例
      val p1: Person = person.asInstanceOf[Person]
      println(p1)
    }
    //(3)获取类的信息
    val pClass: Class[Person] = classOf[Person]
    println(pClass)
  }
}

2. 枚举类和应用类

枚举类: 需要继承Enumeration
应用类: 需要继承App

object他继承了App类,没有写main方法,但是可以生产运行,这是由于App类是Scala自己提供的一个类,它的作用是当object继承它时,不需要写main方法,而是将整个的类看做一个main方法, 可以直接运行

package patternmatchdemo

object Test {
  def main(args: Array[String]): Unit = {
    println(Color.RED)
  }
}
// 枚举类
///注意, Value中的1,2,3是标识用的, 代表是这个value是这个枚举类中的唯一值
object Color extends Enumeration {
  val RED = Value(1, "red")
  val YELLOW = Value(2, "yellow")
  val BLUE = Value(3, "blue")
}

3. Type 定义新类型

  • 使用 type 关键字可以定义新的数据数据类型名称,本质上就是类型的一个别名
object Test {
	def main(args: Array[String]): Unit = {
		type S=String
		var v:S="abc"
		def test():S="xyz"
	}
}
posted @   青松城  阅读(41)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示