java泛型 - 指定泛型类型

时间:2012-06-23 20:35:56

标签: java generics

好的,这就是我想要做的...... opencsv有以下构造函数..

CsvToBean<T> csv2Bean=new CsvToBean<T>();

以它的当前形式,它将采取任何对象。所以下面对我来说很好。

CsvToBean<HoldbackModel> holdbackModelCsv=new CsvToBean<HoldbackModel>();

我想编写一个包含opencsv调用的通用帮助器。我想将它限制为扩展我的标记类CsvRecord的类的任何对象。

public static <T extends CsvRecord> List<T> readCsvRecords(InputStream srcRecords,     InputStream templateCsv, Class<? extends T> clazz) {
    // here i want to pass the class clazz to the CsvBean.. but don't know how!!
    CsvToBean<T> csv2Bean=new CsvToBean<T>();
}

任何帮助?

1 个答案:

答案 0 :(得分:1)

你走的是正确的,只需要稍微调整一下。

public static <T extends CsvRecord> List<T> readCsvRecords(InputStream srcRecords, InputStream templateCsv) {
    CsvToBean<T> csv2Bean = new CsvToBean<T>();
}