Scala REPL打印的类型是什么?
发布时间:2020-12-16 18:02:36 所属栏目:安全 来源:网络整理
导读:当我在repl中创建一个小Map时,它告诉我它的类型是immutable.Map scala Map(1-1,2-2) res8: scala.collection.immutable.Map[Int,Int] = Map((1,1),(2,2)) 然而,这不是全部真相,就像在这种情况下一样 scala Map(1-1,2-2).getClassres9: java.lang.Class[_] =
当我在repl中创建一个小Map时,它告诉我它的类型是immutable.Map
scala> Map(1->1,2->2) res8: scala.collection.immutable.Map[Int,Int] = Map((1,1),(2,2)) 然而,这不是全部真相,就像在这种情况下一样 scala> Map(1->1,2->2).getClass res9: java.lang.Class[_] = class scala.collection.immutable.Map$Map2 Scala如何决定打印什么作为表达式的类型? 解决方法
简短的回答是Scala REPL打印结果的静态类型,如表达式Map(1-> 1,2-> 2)推断的那样,并且getClass返回动态类型,它可以是动态类型的子类型.静态类型.
更长的答案是关于Scala的类型推理引擎如何工作.您可能想阅读Scala Language Reference中的相关章节. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |