gpt4 book ai didi

scala - 为什么我对集合的模式匹配在 Scala 中失败?

转载 作者:行者123 更新时间:2023-12-01 06:56:10 25 4
gpt4 key购买 nike

我的代码如下

  val hash = new HashMap[String, List[Any]]
hash.put("test", List(1, true, 3))
val result = hash.get("test")
result match {
case List(Int, Boolean, Int) => println("found")
case _ => println("not found")
}

我希望打印“找到”但打印“未找到”。我正在尝试匹配具有 Int、Boolean、Int 类型的三个元素的任何列表

最佳答案

您正在检查包含伴随对象的列表 IntBoolean .这些与类 Int 不同和 Boolean .

改用类型化模式。

val result: Option[List[Any]] = ...
result match {
case Some(List(_: Int, _: Boolean, _: Int)) => println("found")
case _ => println("not found")
}

Scala Reference , 第 8.1 节描述了您可以使用的不同模式。

关于scala - 为什么我对集合的模式匹配在 Scala 中失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7497012/

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