<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
当我尝试打印时 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