[解決済み] Java Genericsの<?>と<?extends Object>の違いは何ですか?
2022-10-31 21:15:58
質問
私は以前、ワイルドカードがあらゆるオブジェクトを意味するために使われているのを見たことがありますが、最近、その使い方を見ました。
<? extends Object>
すべてのオブジェクトはObjectを継承するので、この2つの使い方は同義でしょうか?
どのように解決するのですか?
<?>
そして
<? extends Object>
は同義語であることはご想像の通りです。
ジェネリックでは、いくつかのケースで
extends Object
は実際には冗長ではありません。例えば
<T extends Object & Foo>
は
T
になる。
Object
になるのに対して、消去の場合は
<T extends Foo>
になる。
Foo
になります。(これは、もしあなたが
Object
.)
出典
http://download.oracle.com/javase/tutorial/extra/generics/convert.html
;それはなぜJDKの
java.util.Collections
クラスがこのシグネチャを持つメソッドを持っている理由を説明しています。
public static <T extends Object & Comparable<? super T>> T max(
Collection<? extends T> coll
)
関連
-
Collections.sortがdoubleでソートできない問題を完璧に解決する。
-
が 'X-Frame-Options' を 'sameorigin' に設定したため、フレーム内に存在する。
-
swagger2 モデルが表示されない モデルが見つからない @ApiModel アノテーションが表示されない問題
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] Javaにおける "implements Runnable "と "extends Thread "の違いについて
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] StringBuilderとStringBufferの違いについて
-
[解決済み] JavaにおけるSoftReferenceとWeakReferenceの違いは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
XMLファイル操作時のjava.util.NoSuchElementExceptionを解決する方法。
-
executeQuery()でデータ操作文が発行できない。解決方法
-
強制型変換について
-
Javaジェネリックを1つの記事で
-
BindException: アドレスはすでに使用中です:バインドエラー解決
-
ジャバアレイ
-
1分でわかる!恋人の写真をIDEAの背景画像に設定する方法【おすすめ集
-
htmlとwordの相互変換の実装(画像あり)
-
CAS 5.1.8でhttpをサポートし、認証されていない認可サービスエラーのプロンプトが表示される問題を解決した。
-
[解決済み] Javaジェネリックの「?」と「Object」の違いは何ですか?