gpt4 book ai didi

scala - 我们可以使用 match 来检查类的类型吗

转载 作者:行者123 更新时间:2023-12-03 01:37:18 24 4
gpt4 key购买 nike

我是 scala 新手,现在正在学习 match 关键字。

我想知道我们是否可以使用关键字match来检查类的类型。我的代码是:

object Main {
def main(args: Array[String]) {
val x = "AA"
checkType(x)
}

def checkType(cls: AnyRef) {
cls match {
case String => println("is a String")
case Date => println("is a Date")
case _ => println("others")
}
}
}

代码无法编译,所以,这是不可能的吗?检查类类型的 scala 方法是什么?是吗:

if(cls.isInstanceOf[String]) { ... }
else if(cls.isInstanceOf[Date]) { ... }
else { ... }

对吗?

最佳答案

但是编译:

def checkType(cls: AnyRef) {                    
cls match {
case s: String => println("is a String")
case d: Date => println("is a Date")
case _ => println("others")
}
}

...或其简化版本:

def checkType(cls: AnyRef) =
cls match {
case _: String => println("is a String")
case _: Date => println("is a Date")
case _ => println("others")
}

关于scala - 我们可以使用 match 来检查类的类型吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5177180/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com