私が作成しようとしている状況は次のとおりです。
ResultSet
データベース内のクエリによって埋められた を受け取り、適切な結果を含むリストを返す静的テンプレート メソッドを含む基本クラスがあります。
上記のクラスから派生したいくつかのクラスがあり、データベースの各テーブルを表し、それらのすべてにResultSet
、オブジェクトを受け取って構築するコンストラクターがあります。
私が書いたコードは次のとおりです。
public class TableBase
{
public static <T extends TableBase> List<T> getResults(ResultSet p_Rs) throws SQLException, InstantiationException, IllegalAccessException
{
List<T> v_Table = new ArrayList<T>();
T v_TB = null;
while(p_Rs.next())
v_Table.add(new T(p_Rs));
return v_Table;
}
}
私が得たエラーは次のとおりCannot instantiate the type T
です。
すべての子クラスが変数を受け取るコンストラクターを実装することをコンパイラーが「知る」必要があることは明らかですがResultSet
、「抽象コンストラクター」を作成することはできません。
誰もそれを解決する方法の手がかりを持っていますか?
よろしくお願いします。