Scala文档讨论AnyVal.
在本When Allocation Is Necessary
节中,它提到:
case class P(val i: Int) extends AnyVal
val p = new P(3)
p match { // new P instantiated here
case P(3) => println("Matched 3")
case P(x) => println("Not 3")
}
Run Code Online (Sandbox Code Playgroud)
在编译时,是否有可能知道是否AnyVal
需要分配,即放入堆而不是堆栈?
此外,我想编写上面的代码,然后,在编译时,收到一个p match {
导致分配的警告.
据我所知,分配失败的目的AnyVal
.