我正在学习java泛型,我不知道解决这个问题的正确方法。
我有一个Bean类:
public class Bean<C> {
protected Dao<C, Integer> getDao(Context context)
{
Dao<C, Integer> dao;
try {
dao = DatabaseHelper.getInstance(context).getDao(); //HERE
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
方法getDao()
期望参数为Class<T>
。当我只是放置C
类型时,它不起作用(即使使用C.class
)。
我该怎么办?
感谢。
答案 0 :(得分:0)
我的方法上的另一个参数解决了问题:
protected Dao<C, Integer> getDao(Context context, Class<C> clazz)
{
Dao<C, Integer> dao;
try {
dao = DatabaseHelper.getInstance(context).getDao(clazz);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}