我在@specializedScala 2.8.1的标准库的源代码中搜索了使用。看起来只有少数特征和类使用此注释:Function0, Function1, Function2, Tuple1, Tuple2, Product1, Product2, AbstractFunction0, AbstractFunction1, AbstractFunction2。
集合类都不是@specialized. 为什么不?这会产生太多的类吗?
这意味着使用原始类型的集合类是非常低效的,因为会有很多不必要的装箱和拆箱。
拥有 s的不可变列表或序列(具有IndexedSeq特征)的最有效方法是什么Int,避免装箱和拆箱?