7

TreeSet.applyオブジェクトメソッドが返され、返さSortedSetれない理由はありTreeSetますか?

次のコードはscala2.7ではコンパイルされません

val t:TreeSet[Int] = TreeSet(1,2,3)
4

2 に答える 2

5

文字通りの答えは、で定義されているので実装さ れているためapply()です。したがって、が返されます。次に、で定義されているを使用します。これにより、重要な場合にキャストして戻すことができます(ただし、実装に依存し、時間の経過とともに変更される可能性があるため、お勧めしません)。++SortedSetSortedSet+++TreeSetTreeSet

SortedSetから取得できないTreeSetから何が必要ですか?

2.8で変更されたように見えますが、設計決定の背後にある理論的根拠が何であるかはわかりません。

于 2010-03-25T06:00:40.957 に答える
5

これは、現在の scala コレクション ライブラリの短所として認識されており、scala 2.8 の一部である改良されたコレクション ライブラリで対処されています。詳細については、 http: //www.scala-lang.org/sid/3# を参照してください。

于 2010-03-31T05:32:07.090 に答える