AnyのScalaリストとAnyを拡張するもののリスト。違いは何ですか?

tomek.xyz

:誰でも違いが何であるかを説明してもらえますSeq[Any]Seq[_ <: Any]
私の目には、すべてが拡張されるので、両方の場合にすべてを置くことができますAny

アレクセイロマノフ

Seqは共変であるため、ここでは違いありませんそう:

  1. Seq[Any]のサブタイプでSeq[_ <: Any]ある_可能性があるためAnyです。

  2. Seq[_ <: Any]サブタイプですSeq[Any]代わりに入力したものはすべて_、のサブタイプを取得するためですSeq[Any]

Seq不変条件F(例Set)に置き換えるSet[Any]と、はのサブタイプになりますSet[_ <: Any]が、その逆はありません。Set[_ <: Any]共通のスーパータイプがありSet[Any]Set[String]Set[Int]など

さらに詳細に:

  1. Set[_ <: Any]の省略形ですSet[T] forSome { T <: Any }

  2. Set[T] forSome { T <: Any }すべてのスーパータイプであるSet[T]タイプに対してT満足しますT <: Any仕様によると

    実存型で示される値のセットT forSome {Q}は、そのすべての型インスタンスの値のセットの和集合です。

    しかし、それは同じことです。

したがって、次のようなコード

val set1: Set[String] = ??? 
val set2: Set[_ <: Any] = set1

コンパイルされます(試してみてください!)。そしてString、他のタイプ(タイプで_ <: ...はない)に置き換えても、それでも可能ですだが

val set1: Set[String] = ??? 
val set2: Set[Any] = set1

しません。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Pythonのリストメソッドの追加と拡張の違いは何ですか?

分類Dev

Pythonのリストメソッドの追加と拡張の違いは何ですか?

分類Dev

見積もりとリストの違いは何ですか?

分類Dev

クラスのインポートと拡張の違いは何ですか?

分類Dev

Scala:ストリーム上のfilterとtakeWhileの違いは何ですか?

分類Dev

ListViewActivityを拡張することと、IDでリストビューを作成することとの間に大きな違いはありますか?

分類Dev

Inquirerを使用する場合の「リスト」と「ローリスト」の違いは何ですか

分類Dev

クラスを拡張することとGroovyでトレイトを実装することの違いは何ですか?

分類Dev

DartリストのfirstWhere()とindexWhere()の違いは何ですか

分類Dev

セットとリストの違いは何ですか?

分類Dev

<を使用することの違いは何ですか?JavaジェネリックスのSomeAbstract>とSomeAbstractの拡張

分類Dev

Rのリストとペアリストの違いは何ですか?

分類Dev

nullリストと空のリストの違いは何ですか?

分類Dev

ocamlの( 'a *' a)リストと 'a *'リストの違いは何ですか?

分類Dev

&&と|の違いは何ですか bashスクリプトで?

分類Dev

&&と|の違いは何ですか bashスクリプトで?

分類Dev

リストとタプルの違いは何ですか?

分類Dev

リストとリストのコピー(違いは何ですか?)

分類Dev

リスト+ = strとリスト+ = strの違いは何ですか?

分類Dev

SwiftUIの無料の拡張可能なリストの要件は何ですか?

分類Dev

構造化配列を作成するときのタプルとリストの違いは何ですか?

分類Dev

リストに値を追加することと割り当てることの違いは何ですか?

分類Dev

Pythonでaと呼ばれるリストを空にしたいとき、del a [:]とa = []の違いは何ですか?

分類Dev

ハイブリスの注文管理とフルフィルメント拡張の違いは何ですか?どちらをいつ使用する必要がありますか?

分類Dev

リストと、モードがリストであるベクトルの違いは何ですか?

分類Dev

Javaのストリームとリーダーの違いは何ですか?

分類Dev

GitHubとBitbuckのソースリポジトリの違いは何ですか?

分類Dev

スクリプトを実行するための./とshの違いは何ですか?

分類Dev

fabircjsクラスを拡張する場合、_render()とrender()の違いは何ですか?

Related 関連記事

  1. 1

    Pythonのリストメソッドの追加と拡張の違いは何ですか?

  2. 2

    Pythonのリストメソッドの追加と拡張の違いは何ですか?

  3. 3

    見積もりとリストの違いは何ですか?

  4. 4

    クラスのインポートと拡張の違いは何ですか?

  5. 5

    Scala:ストリーム上のfilterとtakeWhileの違いは何ですか?

  6. 6

    ListViewActivityを拡張することと、IDでリストビューを作成することとの間に大きな違いはありますか?

  7. 7

    Inquirerを使用する場合の「リスト」と「ローリスト」の違いは何ですか

  8. 8

    クラスを拡張することとGroovyでトレイトを実装することの違いは何ですか?

  9. 9

    DartリストのfirstWhere()とindexWhere()の違いは何ですか

  10. 10

    セットとリストの違いは何ですか?

  11. 11

    <を使用することの違いは何ですか?JavaジェネリックスのSomeAbstract>とSomeAbstractの拡張

  12. 12

    Rのリストとペアリストの違いは何ですか?

  13. 13

    nullリストと空のリストの違いは何ですか?

  14. 14

    ocamlの( 'a *' a)リストと 'a *'リストの違いは何ですか?

  15. 15

    &&と|の違いは何ですか bashスクリプトで?

  16. 16

    &&と|の違いは何ですか bashスクリプトで?

  17. 17

    リストとタプルの違いは何ですか?

  18. 18

    リストとリストのコピー(違いは何ですか?)

  19. 19

    リスト+ = strとリスト+ = strの違いは何ですか?

  20. 20

    SwiftUIの無料の拡張可能なリストの要件は何ですか?

  21. 21

    構造化配列を作成するときのタプルとリストの違いは何ですか?

  22. 22

    リストに値を追加することと割り当てることの違いは何ですか?

  23. 23

    Pythonでaと呼ばれるリストを空にしたいとき、del a [:]とa = []の違いは何ですか?

  24. 24

    ハイブリスの注文管理とフルフィルメント拡張の違いは何ですか?どちらをいつ使用する必要がありますか?

  25. 25

    リストと、モードがリストであるベクトルの違いは何ですか?

  26. 26

    Javaのストリームとリーダーの違いは何ですか?

  27. 27

    GitHubとBitbuckのソースリポジトリの違いは何ですか?

  28. 28

    スクリプトを実行するための./とshの違いは何ですか?

  29. 29

    fabircjsクラスを拡張する場合、_render()とrender()の違いは何ですか?

ホットタグ

アーカイブ