<not computed> 关于 Scala 中的集合输出

<not computed> on collection output in Scala

当我尝试打印时 MapView 我收到了一条消息 MapView(<not computed>)

val phonebook = Map("Jim" -> 555, "Daniel" -> 789)
println(phonebook)           // Map(Jim -> 555, Daniel -> 789)

val filteredMap = phonebook.filterKeys(_.startsWith("J"))
println(filteredMap("Jim"))  // 555
println(filteredMap)         // MapView(<not computed>)

如果我定义filteredMap如下

val filteredMap = phonebook.view.filterKeys(_.startsWith("J"))

然后什么都没有改变。 Scala 版本是 2.13.2

为什么无法打印 mapview,最好的解决方法是什么?

添加 .toMap 将您的 mapView 转换为静态地图。正如 @Luis Miguel Mejía Suárez

所建议的
val filteredMap = phonebook.view.filterKeys(_.startsWith("J")).toMap