[解決済み] Kotlinのジェネリックにおける "*"と "Any "の違いについて
2022-04-26 01:44:56
質問
との違いがよくわかりません。
SomeGeneric<*>
と
SomeGeneric<Any>
. と思います。
*
は何でも表す(ワイルドカード)、そして
Any
は、そのオブジェクトを表します。
すべて
オブジェクトを継承しています。 つまり、両者は同じであるべきだと思われますが、そうでしょうか?
解決方法は?
を考えてみるとよいかもしれません。 スタープロジェクション は、任意の型ではなく、何が正確かわからない固定的な型を表現するための方法です。
例えば、型
MutableList<*>
のリストを表します。
何か
(具体的に何を知っているわけではない)。だから、このリストに何かを追加しようとしても、成功しない。のリストかもしれません。
String
のリスト、あるいは
Int
のリスト、あるいは他の何かのリストです。コンパイラは、リストがこの型のオブジェクトを受け入れることを確認できないので、このリストにオブジェクトを入れることは一切許可しません。しかし、もしこのようなリストから要素を取り出そうとすれば、確実に
Any?
Kotlinではすべてのオブジェクトが
Any
.
から アスコ 下のコメント
その他
List<*>
は任意の型のオブジェクトを含むことができますが、その型は を含むので、文字列を含むことができます(ただし文字列のみ)。List<Any>
は、文字列や整数などをすべて同じリストに含めることができます。
関連
-
[解決済み] Kotlin 三項条件演算子
-
[解決済み] チェックされていないキャストの警告に対処するにはどうすればよいですか?
-
[解決済み] Kotlinのvarとvalの違いは何ですか?
-
[解決済み】KotlinでJavaの静的メソッドに相当するものは何ですか?
-
[解決済み】KotlinのList型とArray型の違いについて
-
[解決済み] [Solved] Difference between List, List<?>, List<T>, List<E>, and List<Object>
-
[解決済み】SortedListとSortedDictionaryの違いは何ですか?
-
[解決済み】Javaのジェネリックで<T>の代わりに<? extends T>が必要になるのはどんなときか、また切り替えることによるデメリットはあるか?
-
[解決済み] Javaジェネリックの「?」と「Object」の違いは何ですか?
-
[解決済み] kotlinのoutキーワードとは
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] golangでチャンTの満杯を監視する
-
[解決済み] KotlinのPair用コンパレータ
-
[解決済み】Kotlinのreifiedキーワードはどのように機能するのですか?
-
[解決済み】Scala。抽象型とジェネリックス
-
[解決済み] Kotlinのジェネリックにおける "*"と "Any "の違いについて
-
[解決済み] なぜ例がコンパイルできないのか、別名、(co-, contra-, in-)分散はどのように機能するのか?
-
[解決済み] KotlinでGsonを使ったTypeToken + ジェネリックの使い方
-
[解決済み] kotlinのoutキーワードとは
-
[解決済み] なぜGoにはジェネリックがないのか?