当Scala Value Class需要实例化时,有没有办法获得警告?

Pri*_*NAI 11 scala value-class

在有关Scala值类的文档中,提到有三种情况需要实际为实例分配一个值实例:

分配摘要

在以下情况下实际实例化值类:

  1. 值类被视为另一种类型.
  2. 值类被分配给数组.
  3. 进行运行时类型测试,例如模式匹配.

编译器或语言功能中是否有设置,当需要实例化值类时会产生警告?

Ric*_*ich 1

不,目前还没有。

然而,很少值得为这种微观优化而烦恼。

如果您有一些非常非常热的代码并且需要尽可能优化它,那么只需尝试一些事情并重新进行基准测试即可。

如果代码足够热,JIT 编译器会在很多时候改变代码在机器级别所做的事情。

分配值类的开销通常甚至无法测量,除非它是线程正在做的唯一事情。请参阅https://groups.google.com/forum/#!topic/scala-user/XdQnbcs2SRM,了解一些无法衡量价值类别分配的基准。