0

メソッド パラメーターで定義した型の List を作成するメソッドを作成したいと考えています。したがってStudentTeacherJanitor、 の 3 つのクラスがある場合、メソッドは、List渡された型のを作成する必要があります。

public void methodName(TYPE){  
    List<TYPE> results = new List<TYPE>();  
}

何に使うべきTYPEですか?

4

4 に答える 4

1

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ます。

于 2013-06-01T18:29:14.080 に答える