TreeSet.apply
オブジェクトメソッドが返され、返さSortedSet
れない理由はありTreeSet
ますか?
次のコードはscala2.7ではコンパイルされません
val t:TreeSet[Int] = TreeSet(1,2,3)
文字通りの答えは、で定義されているので実装さ れているためapply()
です。したがって、が返されます。次に、で定義されているを使用します。これにより、重要な場合にキャストして戻すことができます(ただし、実装に依存し、時間の経過とともに変更される可能性があるため、お勧めしません)。++
SortedSet
SortedSet
++
+
TreeSet
TreeSet
SortedSetから取得できないTreeSetから何が必要ですか?
2.8で変更されたように見えますが、設計決定の背後にある理論的根拠が何であるかはわかりません。
これは、現在の scala コレクション ライブラリの短所として認識されており、scala 2.8 の一部である改良されたコレクション ライブラリで対処されています。詳細については、 http: //www.scala-lang.org/sid/3# を参照してください。