java一个公共方法中传入一个List<T> list取T具体类型存数据的问题

由于安卓sqlite的查询方法返回的是Cursor游标类型,想做个公共方法做个处理让它返回一个list,我该怎么把list里的T的具体类型取出来放到新list存sqlite查出的数据呢?求指导
现在的代码:

    public static <T>List<T> dbRawQuery(SQLiteDatabase sd,String sql, String[] selectionArgs,List<T> list){
        try {
            if(DB_FILE.exists()){
                DB_FILE.mkdirs();
                cursor = sd.rawQuery(sql,selectionArgs);
            }

            if(cursor.moveToFirst()){//判断游标是否为空
                StringBuilder tvData = new StringBuilder();
                while (cursor.moveToNext()) {
                    for(int i=0;i<cursor.getColumnCount();i++){


                    }
                }
                cursor.close(); // 关闭游标,释放资源
            }
        }catch (Exception e){
            String error = e.getMessage();
        }
        return list;
    }


在参数里加一个Class clazz

采用这种思路去存储,如果里面返回的是一个 List 类型
result.add(supplier.get());

supplier.get() 等价于你从游标里面获取的值


public class Test2 {

   public static <T> List<T> getValue(Supplier<T> supplier,int n){
       List<T> result = new ArrayList<>();
       for (int i=0;i<n;i++){
           result.add(supplier.get());
       }
       return result;

   }


   public static Integer getInteger(){
       return new Random().nextInt(100);
   }

    public static void main(String[] args) {

       List<Integer> list = getValue(Test2::getInteger,10);
        System.out.println(list);
    }
}