@specialized
Scala 2.8.1 の標準ライブラリのソース コードでの使用を検索しました。この注釈を使用するトレイトとクラスはほんの一握りのようです: Function0
, Function1
, Function2
, Tuple1
, Tuple2
, Product1
, Product2
, .AbstractFunction0
AbstractFunction1
AbstractFunction2
コレクション クラスはどれも@specialized
. なぜだめですか?これにより生成されるクラスが多すぎますか?
つまり、プリミティブ型でコレクション クラスを使用すると、不要なボックス化とボックス化解除が大量に発生するため、非常に非効率的です。
ボックス化とボックス化解除を回避して、s の不変リストまたはシーケンス (IndexedSeq
特性を含む) を持つ最も効率的な方法は何ですか?Int