1. ホーム

[解決済み】JavaでClass<T>を使用するには?

2022-04-02 07:44:43

質問

ジェネリックスとその裏側について、以下のサイトで詳しく説明されています。 この質問 ということは、私たちは皆知っていることです。 Vector<int[]> は整数配列のベクトルであり HashTable<String, Person> は、キーが文字列、値が Person s. しかし、私が困っているのは Class<> .

ジャワのクラス Class は、テンプレート名も取ることになっています(というか、eclipseの黄色い下線によってそう言われています)。 そこに何を入れればいいのかがわからない。 要は Class オブジェクトの情報を完全に把握していない場合、リフレクションなどのために使用します。 なぜ Class オブジェクトが保持することになるのでしょうか? 私は明らかに知らないし、そうでなければ私は Class オブジェクトを使用し、特定のオブジェクトを使用します。

解決方法は?

クラスClassの生成版を使うと、特に以下のような書き方ができるようになります。

Class<? extends Collection> someCollectionClass = someMethod();

を拡張し、受け取ったクラスオブジェクトが Collection このクラスのインスタンスは、(少なくとも)コレクションになります。