このパターンがJavaで何と呼ばれているのかよくわからないので、これにもっと良いタイトルを付ける方法がわかりません。
現在、このシグネチャを持つメソッドがあります。
public Directory getDirectory(Class<? extends Directory> type) { ... }
そして、あなたはそれをこのように呼びます:
MyDirectory directory = (MyDirectory)getDirectory(MyDirectory.class);
タイプの制約により、MyDirectory
はから派生する必要がありますDirectory
。
私が本当にやりたいのは、キャストを避け、必要なコードの量を減らすことです。C#では次のように言うことができます:
MyDirectory directory = getDirectory<MyDirectory>();
これまたはJavaで同様のことを行う方法はありますか?バージョン1.4以降、Javaをコーディングしていません。