[解決済み】Javaジェネリックの'E'、'T'、'?'の違いは?
2022-03-30 17:09:13
質問
このようなJavaのコードに出会いました。
public interface Foo<E> {}
public interface Bar<T> {}
public interface Zar<?> {}
上記の3つの違いは何ですか?また、Javaではこのようなクラスやインターフェースの宣言を何と呼ぶのですか?
どのように解決するのですか?
最初の2つには何の違いもありません。
型パラメータ
(
E
または
T
).
3番目は有効な宣言ではありません。
?
として使用されます。
ワイルドカード
を提供するときに使用されます。
引数
は、例えば
List<?> foo = ...
というのは
foo
は何らかの型のリストを参照しているが、それが何であるかは分からない。
これらはすべて ジェネリックス は、かなり大きなトピックです。もちろん、もっと多くの資料がありますが、以下の資料で学ぶとよいでしょう。
- ジェネリックに関するJavaチュートリアル
- ジェネリックの言語ガイド
- プログラミング言語Javaにおけるジェネリック
- アンジェリカ・ランガーさんの Java Generics FAQ (膨大で包括的。ただし、参考程度に)
関連
-
[解決済み] 最も近い整数への切り捨て - 私は不正をしているのでしょうか、それともこれは十分すぎるほど適切なのでしょうか?
-
[解決済み] Java の文字列インデックスが範囲外です。0 [閉店]
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaにおけるpublic、protected、package-private、privateの違いは何ですか?
-
[解決済み] serialVersionUIDとは何ですか、またなぜそれを使用する必要がありますか?
-
[解決済み] JavaBeanとは何ですか?
-
[解決済み] StringBuilderとStringBufferの違いについて
-
[解決済み] ConcurrentHashMapとCollections.synchronizedMap(Map)の違いは何ですか?
-
[解決済み】JSP 2を使用して、JSPファイル内のJavaコードを回避するにはどうすればよいですか?
-
[解決済み】HashMap、LinkedHashMap、TreeMapの違いについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] HashMapのtoString関数はなぜ異なる順序で自分自身を印刷するのですか?
-
[解決済み] なぜJPAには@Transientアノテーションがあるのですか?
-
[解決済み] java.lang.ClassCastException: java.util.Arrays$ArrayList は java.util.ArrayList にキャストできません。
-
[解決済み] mavenのコンパイルに失敗するのはなぜですか?
-
[解決済み] java.lang.ClassNotFoundException: クラス com.ibm.db2.jcc.DB2Driver が Worklight プラットフォームまたはプロジェクトに見つかりませんでした。
-
[解決済み] 1行目2列目でBEGIN_ARRAYを期待したが、BEGIN_OBJECTだった。
-
[解決済み] eclipseからTomcatに物理的に発行されるmyjspはどこにあるのでしょうか?
-
[解決済み] JAVA_OPTIONS、JAVA_TOOL_OPTIONS、JAVA_OPTSの違いについて
-
[解決済み] java.lang.ClassCastException: java.lang.Long を java.lang.Integer にキャストできない(java 1.6
-
[解決済み] java swingアプリケーションでJCEがプロバイダBCを認証できない