gpt4 book ai didi

Scala 数字类型模式匹配

转载 作者:行者123 更新时间:2023-12-01 22:31:45 25 4
gpt4 key购买 nike

我有一个 Number 类型的字段,谁能告诉我为什么下面的代码不起作用以及如何优雅地修复它。

val n:Number = 10.0
n match {
case d:Double=>println(d)
}

error: pattern type is incompatible with expected type

最佳答案

Scala的Doublejava.lang.Double不一样,它是java.lang.Number的子类,所以它永远不可能匹配。如果您匹配 java.lang.Double

,它 可以
val n: Number = 10.0

n match {
case d: java.lang.Double => println(d)
case _ => println("Not a Double")
}

不过,我不会说这有什么优雅的地方,而且在不知道你想用它做什么的情况下很难提出任何进一步的建议。

关于Scala 数字类型模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29244964/

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