1. ホーム
  2. java

[解決済み] JavaでClass<?>とはどういう意味ですか?

2022-04-24 23:03:33

質問

上記のような質問です。すみません、重複しているかもしれませんが、例として <?> を最後につけてください。

を使用しないのはなぜですか? Class をパラメータとして使用することはできますか?

どのように解決するのですか?

Class はパラメタライズ可能なクラスなので Class<T> ここで T は型です。と書くことで Class<?> を宣言していることになる。 Class オブジェクトを作成し、そのオブジェクトは任意の型 ( ? はワイルドカード)。そのため Class 型は、クラスに関するメタ情報を含む型である。

一般的な型の参照には、特定の型を指定するのがよい方法です。 Class<?> はこの慣習を尊重しています(あなたは Class をパラメータ化することはできますが、パラメータを特定の型に限定しているわけではありません。

GenericsとWildcardsについての参考文献です。 http://docs.oracle.com/javase/tutorial/java/generics/wildcards.html

についての参考文献 Class オブジェクトとリフレクション(自分自身をイントロスペクトするために使用されるJava言語の機能)です。 https://www.oracle.com/technetwork/articles/java/javareflection-1536171.html