メソッド パラメーターで定義した型の List を作成するメソッドを作成したいと考えています。したがってStudent、Teacher、Janitor、 の 3 つのクラスがある場合、メソッドは、List渡された型のを作成する必要があります。
public void methodName(TYPE){
List<TYPE> results = new List<TYPE>();
}
何に使うべきTYPEですか?
JAVA ジェネリックを使用できます。1 つの方法は、これにより、すべてのクラス タイプを許容できるようにすることです。
public <T> void methodName(Class<T> cl){
List<T> results = new ArrayList<T>();
}
または、より良い方法は、受け入れたいすべてのクラスをインターフェイスから派生させることです。たとえばPerson、そうすることができます..
public <T extends Person> void methodName(Class<T> cl){
List<T> results = new ArrayList<T>();
}
これにより、 メソッドによって受け入れられるクラスのセットが、 を実装するものだけに制限されPersonます。