クラス パラメーターを使用して Java でジェネリック型をインスタンス化する
Java のジェネリックスは、さまざまなオブジェクトで動作するクラスとメソッドを定義する便利な方法を提供します。データ型。ただし、ジェネリック型のオブジェクトのインスタンス化は少し難しい場合があります。
次のようなクラス宣言があるとします。
public class Abc<T> { public T getInstanceOfT() { // I want to create an instance of T and return the same. } }
どのようにして型 T のオブジェクトを作成できますか? getInstanceOfT method?
解決策:
ジェネリック型をインスタンス化する鍵は、実際の型を引数としてジェネリック クラスに渡すことです。これは、Class
public class Abc<T> { public T getInstanceOfT(Class<T> aClass) { return aClass.newInstance(); } }
この変更されたコードでは、getInstanceOfT メソッドは、作成されるオブジェクトの実際の型を表す Class
例外処理:
が必要になることに注意することが重要です。 newInstance() は InstantiationException をスローする可能性があるため、コードに例外処理を追加するか、 IllegalAccessException.
Runtime Type:
T の型はコンパイル時には不明であるため、実際の型を引数として渡すことが必要です。コンパイル後のバイト コードには実際の型に関する情報が含まれないため、実行時に明示的に指定する必要があります。
以上がJavaでクラスパラメータを使用してジェネリック型をインスタンス化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。