五-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
应用类: 需要继承Appobject他继承了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"
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)